forked from Imagelibrary/binutils-gdb
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:
@@ -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>
|
2019-08-07 Nick Alcock <nick.alcock@oracle.com>
|
||||||
|
|
||||||
* ctf-impl.h (ctf_file_t) <ctf_add_processing>: New.
|
* ctf-impl.h (ctf_file_t) <ctf_add_processing>: New.
|
||||||
|
|||||||
@@ -438,11 +438,12 @@ ssize_t
|
|||||||
ctf_type_lname (ctf_file_t *fp, ctf_id_t type, char *buf, size_t len)
|
ctf_type_lname (ctf_file_t *fp, ctf_id_t type, char *buf, size_t len)
|
||||||
{
|
{
|
||||||
char *str = ctf_type_aname (fp, type);
|
char *str = ctf_type_aname (fp, type);
|
||||||
size_t slen = strlen (str);
|
size_t slen;
|
||||||
|
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
return CTF_ERR; /* errno is set for us */
|
return CTF_ERR; /* errno is set for us */
|
||||||
|
|
||||||
|
slen = strlen (str);
|
||||||
snprintf (buf, len, "%s", str);
|
snprintf (buf, len, "%s", str);
|
||||||
free (str);
|
free (str);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user