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:13 -0500
commitad1a118632098a5d2d746d157f4c6f3d15694f65 (patch)
tree968617d00cbc4369da2694eaca59da061a2fc0c0 /main/channel_internal_api.c
parentd08446ec36600348090eb2451c5a9a7aadd633de (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 624bdd1cb..835b9ce37 100644
--- a/main/channel_internal_api.c
+++ b/main/channel_internal_api.c
@@ -1457,6 +1457,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);
}