Fix a NULL deref in an error path
authorMatt Caswell <matt@openssl.org>
Thu, 12 Nov 2015 15:54:30 +0000 (15:54 +0000)
committerMatt Caswell <matt@openssl.org>
Thu, 26 Nov 2015 12:02:03 +0000 (12:02 +0000)
The SRP_create_verifier_BN function goes to the |err| label if the |salt|
value passed to it is NULL. It is then deref'd.

Reviewed-by: Rich Salz <rsalz@openssl.org>
crypto/srp/srp_vfy.c

index e81ae01779673a7061188d4b76da25ef1988e9da..b271c9904cc5d880dc53b40ec606dac871fde0c3 100644 (file)
@@ -644,7 +644,7 @@ int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt,
     *salt = salttmp;
 
  err:
-    if (*salt != salttmp)
+    if (salt != NULL && *salt != salttmp)
         BN_clear_free(salttmp);
     BN_clear_free(x);
     BN_CTX_free(bn_ctx);