diff options
author | Corey Farrell <git@cfware.com> | 2015-04-22 16:17:53 -0400 |
---|---|---|
committer | Corey Farrell <git@cfware.com> | 2015-04-22 19:47:47 -0500 |
commit | c231c85ea4a0a3828097e92661f1691cc5c83014 (patch) | |
tree | ef9663974512f7d416314ea6ed56a734dab2abf2 /main/astobj2_hash.c | |
parent | 0722e11f2686c00ace3de11e1a27ceff03f49ff1 (diff) |
Astobj2: Ensure all calls to __adjust_lock pass a valid object.
__adjust_lock doesn't check for invalid objects, and doesn't have an
appropriate return value for invalid objects. Most callers of
__adjust_lock pass objects that have already been confirmed valid,
this change adds checks before the remaining calls.
ASTERISK-24997 #close
Reported by: Corey Farrell
Change-Id: I669100f87937cc3f867cec56a27ae9c01292908f
Diffstat (limited to 'main/astobj2_hash.c')
-rw-r--r-- | main/astobj2_hash.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/main/astobj2_hash.c b/main/astobj2_hash.c index 76259dc7f..110dd1602 100644 --- a/main/astobj2_hash.c +++ b/main/astobj2_hash.c @@ -186,6 +186,8 @@ static void hash_ao2_node_destructor(void *v_doomed) * same node. */ my_container = (struct ao2_container_hash *) doomed->common.my_container; + ast_assert(is_ao2_object(my_container)); + __adjust_lock(my_container, AO2_LOCK_REQ_WRLOCK, 1); #if defined(AO2_DEBUG) |