diff options
author | Martin Willi <martin@revosec.ch> | 2015-04-13 18:22:49 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2015-04-15 14:38:43 +0200 |
commit | de1c492a0f2605c68abac9b24fd70cd24ba8a143 (patch) | |
tree | 46fb108c3cc1a17c07995d7a1685c30ba8af0154 /src/libstrongswan/utils | |
parent | e03fb1fb26755f6cbafed621d31f97aae7311294 (diff) | |
download | strongswan-de1c492a0f2605c68abac9b24fd70cd24ba8a143.tar.bz2 strongswan-de1c492a0f2605c68abac9b24fd70cd24ba8a143.tar.xz |
enum-names: Fail gracefully when passing a NULL value as enum names
Diffstat (limited to 'src/libstrongswan/utils')
-rw-r--r-- | src/libstrongswan/utils/enum.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libstrongswan/utils/enum.c b/src/libstrongswan/utils/enum.c index 089bebb79..1cead77ca 100644 --- a/src/libstrongswan/utils/enum.c +++ b/src/libstrongswan/utils/enum.c @@ -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) |