If key pair loading fails return NULL to return pointer.
[silc.git] / lib / silcapputil / silcapputil.c
index 67df01eb161720ed6f9075659c8d4f8c43b1acd1..6ecdd14352aebcd65b9a831c8d7183356eb49525 100644 (file)
@@ -265,6 +265,8 @@ SilcBool silc_load_key_pair(const char *pub_filename,
   if (!silc_pkcs_load_private_key(prv_filename,
                                  (const unsigned char *)pass, strlen(pass),
                                  return_private_key)) {
+    silc_pkcs_public_key_free(*return_public_key);
+    *return_public_key = NULL;
     memset(pass, 0, strlen(pass));
     silc_free(pass);
     return FALSE;