libctf: allow ctf_type_lname of a null pointer.

The code was meant to handle this, but accidentally dereferenced the
null pointer before checking it for nullity.

v5: fix tabdamage.

libctf/
	* ctf-types.c (ctf_type_name): Don't strlen a potentially-
	null pointer.
This commit is contained in:
Nick Alcock 2019-08-08 16:53:48 +01:00
parent 99dc3ebdff
commit 1a6ab13e71
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2019-08-08 Nick Alcock <nick.alcock@oracle.com>
* ctf-types.c (ctf_type_name): Don't strlen a potentially-
null pointer.
2019-08-07 Nick Alcock <nick.alcock@oracle.com>
* ctf-impl.h (ctf_file_t) <ctf_add_processing>: New.

View File

@ -438,11 +438,12 @@ ssize_t
ctf_type_lname (ctf_file_t *fp, ctf_id_t type, char *buf, size_t len)
{
char *str = ctf_type_aname (fp, type);
size_t slen = strlen (str);
size_t slen;
if (str == NULL)
return CTF_ERR; /* errno is set for us */
slen = strlen (str);
snprintf (buf, len, "%s", str);
free (str);