From c2f0f82bb4aadf5eaf7bc72f4c990dd875d91731 Mon Sep 17 00:00:00 2001 From: Mats Klepsland Date: Sun, 10 Apr 2016 14:57:19 +0200 Subject: [PATCH] util-decode-der: fix hang detected by AFL Fix hang that occurs when child->length is zero, resulting in an endless loop. --- src/util-decode-der.c | 6 ++++++ 1 file changed, 6 insertions(+) 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; } -- 2.47.2