]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fixing a double free which happens in the statechange thread.
authorMark Michelson <mmichelson@digium.com>
Tue, 16 Oct 2007 15:21:58 +0000 (15:21 +0000)
committerMark Michelson <mmichelson@digium.com>
Tue, 16 Oct 2007 15:21:58 +0000 (15:21 +0000)
(closes issue #10987, reported by andrew)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@85852 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_queue.c

index fbdab1babbc8f5b08ff8b58750f112ebfa115cd2..3fee3f28bfafe02a87f5099bbcc17e71e5e3867c 100644 (file)
@@ -543,7 +543,6 @@ static void *handle_statechange(struct statechange *sc)
        if (loc) {
                *loc++ = '\0';
        } else {
-               free(sc);
                return NULL;
        }
 
@@ -564,7 +563,6 @@ static void *handle_statechange(struct statechange *sc)
        if (!curint) {
                if (option_debug > 2)
                        ast_log(LOG_DEBUG, "Device '%s/%s' changed to state '%d' (%s) but we don't care because they're not a member of any queue.\n", technology, loc, sc->state, devstate2str(sc->state));
-               free(sc);
                return NULL;
        }
 
@@ -613,8 +611,6 @@ static void *handle_statechange(struct statechange *sc)
        }
        AST_LIST_UNLOCK(&queues);
 
-       free(sc);
-
        return NULL;
 }