From: Victor Julien Date: Fri, 12 Dec 2014 17:20:24 +0000 (+0100) Subject: Fix a fix: defrag OOM condition X-Git-Tag: suricata-2.1beta3~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1294%2Fhead;p=thirdparty%2Fsuricata.git Fix a fix: defrag OOM condition ** CID 1257764: Dereference after null check (FORWARD_NULL) /src/defrag.c: 291 in Defrag4Reassemble() ** CID 1257763: Dereference after null check (FORWARD_NULL) /src/defrag.c: 409 in Defrag6Reassemble() In the error case 'rp' can be both NULL or non-NULL. --- diff --git a/src/defrag.c b/src/defrag.c index 71225b8da9..f005ade7de 100644 --- a/src/defrag.c +++ b/src/defrag.c @@ -358,7 +358,8 @@ done: error_remove_tracker: tracker->remove = 1; DefragTrackerFreeFrags(tracker); - PacketFreeOrRelease(rp); + if (rp != NULL) + PacketFreeOrRelease(rp); return NULL; } @@ -480,7 +481,8 @@ done: error_remove_tracker: tracker->remove = 1; DefragTrackerFreeFrags(tracker); - PacketFreeOrRelease(rp); + if (rp != NULL) + PacketFreeOrRelease(rp); return NULL; }