diff options
author | Corey Farrell <git@cfware.com> | 2015-04-21 16:17:33 -0400 |
---|---|---|
committer | Corey Farrell <git@cfware.com> | 2015-04-21 15:36:36 -0500 |
commit | 5757d2d30d37448457aa993dac5ccb1133218718 (patch) | |
tree | 0023b86e2a09bfe0cf7e6fe83ace4801054a5985 /main/channel_internal_api.c | |
parent | 614f5066905fa5efb7cfce9dfa397640808c4dd2 (diff) |
Check for ao2_alloc failure in __ast_channel_internal_alloc.
Fix a crash that could occur in __ast_channel_internal_alloc if
ao2_alloc fails.
ASTERISK-24991 #close
Change-Id: I4ca89189eb22f907408cb87d0a1645cfe1314a90
Diffstat (limited to 'main/channel_internal_api.c')
-rw-r--r-- | main/channel_internal_api.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/main/channel_internal_api.c b/main/channel_internal_api.c index a2fafbf33..4e8539889 100644 --- a/main/channel_internal_api.c +++ b/main/channel_internal_api.c @@ -1449,6 +1449,10 @@ struct ast_channel *__ast_channel_internal_alloc(void (*destructor)(void *obj), tmp = ao2_alloc(sizeof(*tmp), destructor); #endif + if (!tmp) { + return NULL; + } + if ((ast_string_field_init(tmp, 128))) { return ast_channel_unref(tmp); } |