Code

src/utils_llist.c: Improved robustness against NULL pointers.
authorSebastian Harl <sh@tokkee.org>
Thu, 22 May 2008 11:36:00 +0000 (13:36 +0200)
committerFlorian Forster <octo@huhu.verplant.org>
Tue, 27 May 2008 11:12:28 +0000 (13:12 +0200)
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 <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/utils_llist.c

index 7fae025d62233ca51613268369239c43f516f973..bf5f7e4944e335c6660eb0226cd8d43faa9aa2a8 100644 (file)
@@ -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);
 }