]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
hashtab: Add NULL check when destroying iterator. 34/1634/1
authorJoshua Colp <jcolp@digium.com>
Sat, 14 Nov 2015 13:02:10 +0000 (09:02 -0400)
committerJoshua Colp <jcolp@digium.com>
Sat, 14 Nov 2015 13:06:48 +0000 (08:06 -0500)
The hashtab API is pretty NULL tolerant which has resulted
in remaining callers not doing much checks themselves.
Unfortunately the function to destroy an iterator does not
do a NULL check and will result in a crash if passed NULL.
This change fixes that.

ASTERISK-25552 #close

Change-Id: Ic1bf8eec3639e5a440f1c941d3ae3893ac6ed619

main/hashtab.c

index c08880c69cb5d064b5e2adf13795f0b060f9f908..5d54fb7aa3bcb9e4496e4ad56113545a49f61474 100644 (file)
@@ -746,6 +746,8 @@ struct ast_hashtab_iter *ast_hashtab_start_write_traversal(struct ast_hashtab *t
 
 void ast_hashtab_end_traversal(struct ast_hashtab_iter *it)
 {
+       if (!it)
+               return;
        if (it->tab->do_locking)
                ast_rwlock_unlock(&it->tab->lock);
        free(it);