summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchannels/chan_iax2.c1
-rwxr-xr-xres/res_indications.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index e24f618be..9668c193f 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -5499,7 +5499,6 @@ static void prune_users(void)
if (user->delme) {
ast_free_ha(user->ha);
free_context(user->contexts);
- user=user->next;
free(user);
if (userlast)
userlast->next = usernext;
diff --git a/res/res_indications.c b/res/res_indications.c
index 0983efbca..78eb2a33d 100755
--- a/res/res_indications.c
+++ b/res/res_indications.c
@@ -238,6 +238,7 @@ static int ind_load_module(void)
tones = malloc(sizeof(struct tone_zone));
if (!tones) {
ast_log(LOG_WARNING,"Out of memory\n");
+ ast_destroy(cfg);
return -1;
}
memset(tones,0,sizeof(struct tone_zone));
@@ -261,6 +262,7 @@ static int ind_load_module(void)
tmp = realloc(tones->ringcadance,(tones->nrringcadance+1)*sizeof(int));
if (!tmp) {
ast_log(LOG_WARNING, "Out of memory\n");
+ ast_destroy(cfg);
return -1;
}
tones->ringcadance = tmp;
@@ -277,6 +279,7 @@ static int ind_load_module(void)
struct tone_zone* azone = malloc(sizeof(struct tone_zone));
if (!azone) {
ast_log(LOG_WARNING,"Out of memory\n");
+ ast_destroy(cfg);
return -1;
}
memset(azone,0,sizeof(struct tone_zone));
@@ -303,6 +306,7 @@ static int ind_load_module(void)
ts = malloc(sizeof(struct tone_zone_sound));
if (!ts) {
ast_log(LOG_WARNING, "Out of memory\n");
+ ast_destroy(cfg);
return -1;
}
ts->next = NULL;