From 3ac718e5f41e7e783471aedffc6b795f0ce9160e Mon Sep 17 00:00:00 2001 From: Matt O'Gorman Date: Wed, 1 Nov 2006 21:20:35 +0000 Subject: [PATCH] fix for bug #8083 crash caused by double free on m->msg git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@46838 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- logger.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/logger.c b/logger.c index 85a75d117c..fcc0797ad1 100644 --- a/logger.c +++ b/logger.c @@ -875,15 +875,19 @@ void ast_verbose(const char *fmt, ...) if (complete) { if (msgcnt < MAX_MSG_QUEUE) { /* Allocate new structure */ - if ((m = malloc(sizeof(*m)))) + if ((m = malloc(sizeof(*m)))) { + m->msg = NULL; msgcnt++; + } } else { /* Recycle the oldest entry */ m = list; list = list->next; - free(m->msg); + if (m->msg) + free(m->msg); } if (m) { + m->msg = NULL; m->msg = strdup(stuff); if (m->msg) { if (last)