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
	 Nicolas Williams
					Nicolas Williams