From: Mats Klepsland Date: Sun, 10 Apr 2016 12:57:19 +0000 (+0200) Subject: util-decode-der: fix hang detected by AFL X-Git-Tag: suricata-3.1RC1~275 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1997%2Fhead;p=thirdparty%2Fsuricata.git util-decode-der: fix hang detected by AFL Fix hang that occurs when child->length is zero, resulting in an endless loop. --- diff --git a/src/util-decode-der.c b/src/util-decode-der.c index f97497665f..be56b5e546 100644 --- a/src/util-decode-der.c +++ b/src/util-decode-der.c @@ -270,6 +270,12 @@ static Asn1Generic * DecodeAsn1DerGeneric(const unsigned char *buffer, if (child == NULL) return NULL; + /* child length should never be zero */ + if (child->length == 0) { + SCFree(child); + return NULL; + } + child->header = el; return child; }