Handle allocation failure in NSS DSA signature initialization
authorPanu Matilainen <pmatilai@redhat.com>
Tue, 4 Dec 2012 12:06:42 +0000 (14:06 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Fri, 7 Dec 2012 12:36:54 +0000 (14:36 +0200)
(cherry picked from commit 2d39f13064f6e6ff1a1633b708e7ba5622a7e8eb)

rpmio/digest_nss.c

index f1e5d6a..c77c71d 100644 (file)
@@ -319,8 +319,10 @@ static int pgpSetSigMpiDSA(pgpDigAlg pgpsig, int num,
     switch (num) {
     case 0:
        sig = pgpsig->data = SECITEM_AllocItem(NULL, NULL, DSA1_SIGNATURE_LEN);
-       memset(sig->data, 0, DSA1_SIGNATURE_LEN);
-       rc = pgpMpiSet(lbits, sig->data, p, pend);
+       if (sig) {
+           memset(sig->data, 0, DSA1_SIGNATURE_LEN);
+           rc = pgpMpiSet(lbits, sig->data, p, pend);
+       }
        break;
     case 1:
        if (sig && pgpMpiSet(lbits, sig->data+DSA1_SUBPRIME_LEN, p, pend) == 0) {