From 2ef2b9f34e2eebcdb4116e55e1e3b8034a1961c8 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Mon, 6 Mar 2017 22:34:46 +0100 Subject: [PATCH] nss: fix assert when building against debug nss (#91) Due to reading uninitialized memory. gdb says: Assertion failure: dest == NULL || dest->data == NULL, at secasn1e.c:1483 Program received signal SIGABRT, Aborted. 0x00007ffff74748d7 in raise () from /lib64/libc.so.6 (gdb) up #1 0x00007ffff7475caa in abort () from /lib64/libc.so.6 (gdb) #2 0x00007fffe57f96ae in PR_Assert (s=0x7fffe1cbf298 "dest == NULL || dest->data == NULL", file=0x7fffe1cbef60 "secasn1e.c", ln=1483) at ../../../../pr/src/io/prlog.c:553 553 abort(); (gdb) #3 0x00007fffe1cb1941 in SEC_ASN1EncodeItem_Util (poolp=0x0, dest=0x7fffffff95f0, src=0x7fffffff9530, theTemplate=0x7fffe55ae180 ) at secasn1e.c:1483 1483 PORT_Assert(dest == NULL || dest->data == NULL); --- src/nss/signatures.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/nss/signatures.c b/src/nss/signatures.c index a8fec2c..b7a292e 100644 --- a/src/nss/signatures.c +++ b/src/nss/signatures.c @@ -354,6 +354,7 @@ xmlSecNssSignatureVerify(xmlSecTransformPtr transform, SECItem signatureDer; SECStatus statusDer; + memset(&signatureDer, 0, sizeof(signatureDer)); statusDer = DSAU_EncodeDerSigWithLen(&signatureDer, &signature, signature.len); if(statusDer != SECSuccess) { xmlSecError(XMLSEC_ERRORS_HERE, -- 2.10.2