From 36f72a66a6b5ad14d7ea67e739fc93633b55d6d3 Mon Sep 17 00:00:00 2001 From: Sebastian Harl Date: Thu, 22 May 2008 13:36:00 +0200 Subject: [PATCH] src/utils_llist.c: Improved robustness against NULL pointers. All functions searching for some list entry now return NULL if the given list equals NULL. Imho, that's the expected behavior. Also, it removes the need to check the lists from the calling function while that function usually checks the returned list entry anyway. Signed-off-by: Sebastian Harl Signed-off-by: Florian Forster --- src/utils_llist.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/utils_llist.c b/src/utils_llist.c index 7fae025d..bf5f7e49 100644 --- a/src/utils_llist.c +++ b/src/utils_llist.c @@ -59,6 +59,9 @@ void llist_destroy (llist_t *l) llentry_t *e_this; llentry_t *e_next; + if (l == NULL) + return; + for (e_this = l->head; e_this != NULL; e_this = e_next) { e_next = e_this->next; @@ -140,6 +143,9 @@ llentry_t *llist_search (llist_t *l, const char *key) { llentry_t *e; + if (l == NULL) + return (NULL); + for (e = l->head; e != NULL; e = e->next) if (strcmp (key, e->key) == 0) break; @@ -149,10 +155,14 @@ llentry_t *llist_search (llist_t *l, const char *key) llentry_t *llist_head (llist_t *l) { + if (l == NULL) + return (NULL); return (l->head); } llentry_t *llist_tail (llist_t *l) { + if (l == NULL) + return (NULL); return (l->tail); } -- 2.30.2