mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
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:
committed by
Scott Griepentrog
parent
2733638d0d
commit
6002472a62
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user