diff --git a/lib/asn1/gen_decode.c b/lib/asn1/gen_decode.c index 330541f87..327de4c98 100644 --- a/lib/asn1/gen_decode.c +++ b/lib/asn1/gen_decode.c @@ -744,7 +744,7 @@ generate_type_decode (const Symbol *s) if (preserve) fprintf (codefile, "data->_save.data = calloc(1, ret);\n" - "if (data->_save.data == NULL) { \n" + "if (data->_save.data == NULL && ret != 0) { \n" "e = ENOMEM; goto fail; \n" "}\n" "data->_save.length = ret;\n"