mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-03 04:16:43 +00:00
Fix a memory leak in register_group_feature when attempting to register
a feature without specifying a group or feature to register. (closes issue #13101) Reported by: eliel Patches: features.c.patch uploaded by eliel (license 64) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@131717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1498,14 +1498,6 @@ static void register_group_feature(struct feature_group *fg, const char *exten,
|
||||
{
|
||||
struct feature_group_exten *fge;
|
||||
|
||||
if (!(fge = ast_calloc(1, sizeof(*fge))))
|
||||
return;
|
||||
|
||||
if (ast_string_field_init(fge, 128)) {
|
||||
ast_free(fge);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!fg) {
|
||||
ast_log(LOG_NOTICE, "You didn't pass a group!\n");
|
||||
return;
|
||||
@@ -1516,7 +1508,15 @@ static void register_group_feature(struct feature_group *fg, const char *exten,
|
||||
return;
|
||||
}
|
||||
|
||||
ast_string_field_set(fge, exten, (ast_strlen_zero(exten) ? feature->exten : exten));
|
||||
if (!(fge = ast_calloc(1, sizeof(*fge))))
|
||||
return;
|
||||
|
||||
if (ast_string_field_init(fge, 128)) {
|
||||
ast_free(fge);
|
||||
return;
|
||||
}
|
||||
|
||||
ast_string_field_set(fge, exten, S_OR(exten, feature->exten));
|
||||
|
||||
fge->feature = feature;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user