]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
core: Fix segfault when invoking 'data get' CLI command
authorSean Bright <sean.bright@gmail.com>
Wed, 5 Jul 2017 12:42:07 +0000 (08:42 -0400)
committerSean Bright <sean.bright@gmail.com>
Wed, 5 Jul 2017 12:44:34 +0000 (07:44 -0500)
Invoking 'data get /asterisk/core/channeltypes' caused a crash because
of an assumption of a tech's capabilities to be non-NULL. The
'Surrogate' tech, however, does have a NULL capabilities member,
resulting in a crash.

ASTERISK-27108 #close

Change-Id: I2fbe7715681f43d5565d1e1599269468c26b0e0a

main/data.c

index 1aaae18f184c057a08f86e2f93f83ae671d29973..a65d0b8e019a0391688ef6af42c3231170ed6465 100644 (file)
@@ -3145,6 +3145,10 @@ int ast_data_add_codecs(struct ast_data *root, const char *node_name, struct ast
                return -1;
        }
 
+       if (!cap) {
+               return 0;
+       }
+
        count = ast_format_cap_count(cap);
        for (i = 0; i < count; ++i) {
                struct ast_format *fmt;