]> granicus.if.org Git - curl/commitdiff
openssl: get_cert_chain: avoid NULL dereference
authorDaniel Stenberg <daniel@haxx.se>
Tue, 17 May 2016 07:14:06 +0000 (09:14 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 17 May 2016 07:14:06 +0000 (09:14 +0200)
CID 1361811: Explicit null dereferenced (FORWARD_NULL)

lib/vtls/openssl.c

index 6b70c0ccc26bf697509d3d82388563eda58d88de..93373e03d2f2c209c8a2809a2f9ef6d3c30f1088 100644 (file)
@@ -2385,10 +2385,12 @@ static CURLcode get_cert_chain(struct connectdata *conn,
         X509_get0_signature(&psig, &palg, x);
         X509_signature_print(mem, palg, a);
         ASN1_STRING_free(a);
-      }
-      i2a_ASN1_OBJECT(mem, palg->algorithm);
-      push_certinfo("Public Key Algorithm", i);
 
+        if(palg) {
+          i2a_ASN1_OBJECT(mem, palg->algorithm);
+          push_certinfo("Public Key Algorithm", i);
+        }
+      }
       X509V3_ext(data, i, X509_get0_extensions(x));
     }
 #else