[collectd] [PATCH] utils_llist.c: Improved robustness against NULL	pointers.
    Sebastian Harl 
    sh at tokkee.org
       
    Thu May 22 13:36:00 CEST 2008
    
    
  
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 at tokkee.org>
---
 src/utils_llist.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/src/utils_llist.c b/src/utils_llist.c
index 7fae025..bf5f7e4 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);
 }
-- 
1.5.5.1.316.g377d9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mailman.verplant.org/pipermail/collectd/attachments/20080522/18836f48/attachment.pgp 
    
    
More information about the collectd
mailing list