summaryrefslogtreecommitdiffstats
path: root/lib/log.h
diff options
context:
space:
mode:
authorpaul <paul>2008-02-28 23:26:02 +0000
committerpaul <paul>2008-02-28 23:26:02 +0000
commit3c220840d7a3d62497a45ff77ee01a87e6023e8d (patch)
treebbb0f4e7ec8331a64ba4ffbc4e62e9593c9af2ce /lib/log.h
parent538d0f3a00ec246d41207324d0cb88a0061b0101 (diff)
downloadquagga-3c220840d7a3d62497a45ff77ee01a87e6023e8d.tar.bz2
quagga-3c220840d7a3d62497a45ff77ee01a87e6023e8d.tar.xz
[lib] Fix the struct message LOOKUP function to be more robust
2008-02-28 Paul Jakma <paul.jakma@sun.com> * log.c: (mes_lookup) Sowmini Varadhan diagnosed a problem where this function can cause a NULL dereference, on lookups for unknown indices, or messages with NULL strings. Can occur, e.g., debug logging code when processing received messages. Fixed to accept a pointer to a default string to be used if there is no match. * log.h: LOOKUP adjusted to match
Diffstat (limited to 'lib/log.h')
-rw-r--r--lib/log.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/log.h b/lib/log.h
index da8fbea8..7432b25e 100644
--- a/lib/log.h
+++ b/lib/log.h
@@ -142,10 +142,12 @@ extern int zlog_reset_file (struct zlog *zl);
extern int zlog_rotate (struct zlog *);
/* For hackey massage lookup and check */
-#define LOOKUP(x, y) mes_lookup(x, x ## _max, y)
+#define LOOKUP(x, y) mes_lookup(x, x ## _max, y, "(no item found)")
extern const char *lookup (struct message *, int);
-extern const char *mes_lookup (struct message *meslist, int max, int index);
+extern const char *mes_lookup (struct message *meslist,
+ int max, int index,
+ const char *no_item);
extern const char *zlog_priority[];
extern const char *zlog_proto_names[];