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
This commit is contained in:
Scott Griepentrog 2015-09-04 09:26:46 -05:00
parent c15d8cc0ed
commit 7691035312
1 changed files with 1 additions and 2 deletions

View File

@ -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;
}