diff --git a/lib/asn1/gen_decode.c b/lib/asn1/gen_decode.c index 7a8575007..330541f87 100644 --- a/lib/asn1/gen_decode.c +++ b/lib/asn1/gen_decode.c @@ -630,7 +630,7 @@ decode_type (const char *name, const Type *t, int optional, fprintf(codefile, "else {\n" "(%s)->u.%s.data = calloc(1, len);\n" - "if ((%s)->u.%s.data == NULL) {\n" + "if ((%s)->u.%s.data == NULL && len != 0) {\n" "e = ENOMEM; %s;\n" "}\n" "(%s)->u.%s.length = len;\n"