pjsip_cli: Fix memory leak in ast_sip_cli_print_sorcery_objectset.

Fixed memory leaks in ast_sip_cli_print_sorcery_objectset and
ast_variable_list_sort.  

(closes issue ASTERISK-23266)
Review: http://reviewboard.asterisk.org/r/3200/
........

Merged revisions 408520 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@408521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
George Joseph
2014-02-20 21:04:28 +00:00
parent a94c8562fd
commit 31a18c14b8
2 changed files with 11 additions and 10 deletions

View File

@@ -596,19 +596,19 @@ inline struct ast_variable *variable_list_switch(struct ast_variable *l1, struct
struct ast_variable *ast_variable_list_sort(struct ast_variable *start)
{
struct ast_variable *p, *q, *top;
struct ast_variable *p, *q;
struct ast_variable top;
int changed = 1;
top = ast_calloc(1, sizeof(struct ast_variable));
top->next = start;
memset(&top, 0, sizeof(top));
top.next = start;
if (start != NULL && start->next != NULL) {
while (changed) {
changed = 0;
q = top;
p = top->next;
q = ⊤
p = top.next;
while (p->next != NULL) {
if (p->next != NULL && strcmp(p->name, p->next->name) > 0) {
q->next = variable_list_switch(p, p->next);
changed = 1;
}
q = p;
@@ -617,7 +617,7 @@ struct ast_variable *ast_variable_list_sort(struct ast_variable *start)
}
}
}
return top->next;
return top.next;
}
const char *ast_config_option(struct ast_config *cfg, const char *cat, const char *var)