enum-names: Fail gracefully when passing a NULL value as enum names

This commit is contained in:
Martin Willi
2015-04-15 14:38:43 +02:00
parent e03fb1fb26
commit de1c492a0f
2 changed files with 15 additions and 1 deletions
+5 -1
View File
@@ -26,6 +26,10 @@
*/
char *enum_to_name(enum_name_t *e, int val)
{
if (!e)
{
return NULL;
}
do
{
if (val >= e->first && val <= e->last)
@@ -140,7 +144,7 @@ int enum_printf_hook(printf_hook_data_t *data, printf_hook_spec_t *spec,
int val = *((int*)(args[1]));
char *name, buf[512];
if (ed->next == ENUM_FLAG_MAGIC)
if (ed && ed->next == ENUM_FLAG_MAGIC)
{
name = enum_flags_to_string(ed, val, buf, sizeof(buf));
if (name == NULL)