asn1: Fix ENOMEM NULL deref
This commit is contained in:
@@ -127,14 +127,14 @@ free_type (const char *name, const Type *t, int preserve)
|
||||
case TSequenceOf: {
|
||||
char *n;
|
||||
|
||||
fprintf (codefile, "while((%s)->len){\n", name);
|
||||
fprintf (codefile, "if ((%s)->val)\nwhile((%s)->len){\n", name, name);
|
||||
if (asprintf (&n, "&(%s)->val[(%s)->len-1]", name, name) < 0 || n == NULL)
|
||||
errx(1, "malloc");
|
||||
free_type(n, t->subtype, FALSE);
|
||||
fprintf(codefile,
|
||||
"(%s)->len--;\n"
|
||||
"}\n",
|
||||
name);
|
||||
"} else (%s)->len = 0;\n",
|
||||
name, name);
|
||||
fprintf(codefile,
|
||||
"free((%s)->val);\n"
|
||||
"(%s)->val = NULL;\n", name, name);
|
||||
|
Reference in New Issue
Block a user