From: Kp Date: Sat, 31 May 2008 04:31:07 +0000 (-0500) Subject: ASN1: Fix NULL pointer dereference on stack allocation failure. X-Git-Tag: silc.server.1.1.12~4^2 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=8a03227a106d087077ab9f9e21f644c8b653af3f;ds=sidebyside ASN1: Fix NULL pointer dereference on stack allocation failure. If the second silc_stack_alloc fails, then asn1->stack2 is NULL. Thus, when silc_asn1_init calls silc_stack_free(asn1->stack2), it is equivalent to silc_stack_free(NULL). However, silc_stack_free does not check for a NULL pointer. Fix silc_asn1_init to free asn1->stack1, as was intended. --- diff --git a/lib/silcasn1/silcasn1.c b/lib/silcasn1/silcasn1.c index 5965228b..2e43b49c 100644 --- a/lib/silcasn1/silcasn1.c +++ b/lib/silcasn1/silcasn1.c @@ -53,7 +53,7 @@ SilcBool silc_asn1_init(SilcAsn1 asn1) asn1->stack2 = silc_stack_alloc(768); if (!asn1->stack2) { - silc_stack_free(asn1->stack2); + silc_stack_free(asn1->stack1); return FALSE; }