summaryrefslogtreecommitdiff
path: root/main/channel_internal_api.c
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2015-04-21 16:17:33 -0400
committerCorey Farrell <git@cfware.com>2015-04-21 15:36:36 -0500
commit5757d2d30d37448457aa993dac5ccb1133218718 (patch)
tree0023b86e2a09bfe0cf7e6fe83ace4801054a5985 /main/channel_internal_api.c
parent614f5066905fa5efb7cfce9dfa397640808c4dd2 (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.c4
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);
}