From: Wilfried Goesgens Date: Mon, 24 Jan 2011 23:22:49 +0000 (+0100) Subject: libev migration: check pointer before free'ing it. X-Git-Tag: v8.11~1099 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=01ddb55c1318911936a263b14d7c5ecd36a84967 libev migration: check pointer before free'ing it. --- diff --git a/citadel/modules/smtp/serv_smtpqueue.c b/citadel/modules/smtp/serv_smtpqueue.c index 26c7e555d..b4ab58740 100644 --- a/citadel/modules/smtp/serv_smtpqueue.c +++ b/citadel/modules/smtp/serv_smtpqueue.c @@ -140,9 +140,13 @@ void RemoveQItem(OneQueItem *MyQItem) void FreeURL(ParsedURL** Url) { - FreeStrBuf(&(*Url)->URL); - free(*Url); - *Url = NULL; + if (*Url != NULL) { + FreeStrBuf(&(*Url)->URL); + if ((*Url)->Next != NULL) + FreeURL(&(*Url)->Next); + free(*Url); + *Url = NULL; + } } void FreeMailQEntry(void *qv)