Fix a couple of memory leaks
authorMark Spencer <markster@digium.com>
Wed, 11 Feb 2004 00:17:48 +0000 (00:17 +0000)
committerMark Spencer <markster@digium.com>
Wed, 11 Feb 2004 00:17:48 +0000 (00:17 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2151 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_iax2.c
res/res_indications.c

index e24f618..9668c19 100755 (executable)
@@ -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;
index 0983efb..78eb2a3 100755 (executable)
@@ -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;