X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccrypt%2Fsilcpkcs.c;h=74fd6f03ab8b5a3ed35d106a288ec8853d05e7b9;hb=52e57c880aba9c5e89f59d962eb9af75670b76e0;hp=6bd2eaacf020c32d897d29781ae7e1667072c325;hpb=cf7c57c5507866dab44cc92c9ee772cfc80eddbd;p=silc.git diff --git a/lib/silccrypt/silcpkcs.c b/lib/silccrypt/silcpkcs.c index 6bd2eaac..74fd6f03 100644 --- a/lib/silccrypt/silcpkcs.c +++ b/lib/silccrypt/silcpkcs.c @@ -489,6 +489,7 @@ SilcBool silc_pkcs_public_key_alloc(SilcPKCSType type, void silc_pkcs_public_key_free(SilcPublicKey public_key) { public_key->pkcs->public_key_free(public_key->public_key); + silc_free(public_key); } /* Exports public key */ @@ -512,7 +513,7 @@ SilcUInt32 silc_pkcs_public_key_get_len(SilcPublicKey public_key) void *silc_pkcs_get_context(SilcPKCSType type, SilcPublicKey public_key) { if (public_key->pkcs->type != type) - return FALSE; + return NULL; return public_key->public_key; } @@ -564,6 +565,7 @@ SilcUInt32 silc_pkcs_private_key_get_len(SilcPrivateKey private_key) void silc_pkcs_private_key_free(SilcPrivateKey private_key) { private_key->pkcs->private_key_free(private_key->private_key); + silc_free(private_key); } /* Encrypts */ @@ -691,6 +693,7 @@ SilcBool silc_pkcs_load_public_key(const char *filename, silc_free(data); silc_free(public_key); + *ret_public_key = NULL; return FALSE; } @@ -776,6 +779,7 @@ SilcBool silc_pkcs_load_private_key(const char *filename, silc_free(data); silc_free(private_key); + *ret_private_key = NULL; return FALSE; }