diff --git a/lib/asn1_decoder.c b/lib/asn1_decoder.c
index e77d34bc20441f7c6fb48c5fe6a5255a06203293..5672ac31d765566c0a8a63f3b3dea2bc8755390d 100644
--- a/lib/asn1_decoder.c
+++ b/lib/asn1_decoder.c
@@ -276,6 +276,9 @@ next_op:
 				if (unlikely(len > datalen - dp))
 					goto data_overrun_error;
 			}
+		} else {
+			if (unlikely(len > datalen - dp))
+				goto data_overrun_error;
 		}
 
 		if (flags & FLAG_CONS) {