From 6002472a6286eabb5bba79282b62ba2a629a0660 Mon Sep 17 00:00:00 2001 From: Scott Griepentrog Date: Fri, 4 Sep 2015 09:26:46 -0500 Subject: endpoint snapshot: avoid second cleanup on alloc failure In ast_endpoint_snapshot_create(), a failure to init the string fields results in two attempts to ao2_cleanup the same pointer. Removed RAII_VAR to eliminate problem. ASTERISK-25375 #close Reported by: Scott Griepentrog Change-Id: If4d9dfb1bbe3836b623642ec690b6d49b25e8979 --- main/endpoints.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'main') diff --git a/main/endpoints.c b/main/endpoints.c index ce0ab0292..0155adfeb 100644 --- a/main/endpoints.c +++ b/main/endpoints.c @@ -464,7 +464,7 @@ static void endpoint_snapshot_dtor(void *obj) struct ast_endpoint_snapshot *ast_endpoint_snapshot_create( struct ast_endpoint *endpoint) { - RAII_VAR(struct ast_endpoint_snapshot *, snapshot, NULL, ao2_cleanup); + struct ast_endpoint_snapshot *snapshot; int channel_count; struct ao2_iterator i; void *obj; @@ -500,7 +500,6 @@ struct ast_endpoint_snapshot *ast_endpoint_snapshot_create( } ao2_iterator_destroy(&i); - ao2_ref(snapshot, +1); return snapshot; } -- cgit v1.2.3