Commit 2fa4b5bb authored by Roger Dingledine's avatar Roger Dingledine
Browse files

don't leak memory on pk ops


svn:r117
parent e7ecd5e1
Loading
Loading
Loading
Loading
+5 −4
Changes for src/common/crypto.c: 5 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -234,10 +234,9 @@ int crypto_pk_read_private_key_from_file(crypto_pk_env_t *env, FILE *src)
  
  switch(env->type) {
    case CRYPTO_PK_RSA:
/*
    if (env->key)
      RSA_free((RSA *)env->key);*/
    env->key = (unsigned char *)PEM_read_RSAPrivateKey(src, (RSA **)&env->key, NULL, NULL);
      RSA_free((RSA *)env->key);
    env->key = (unsigned char *)PEM_read_RSAPrivateKey(src, NULL, NULL, NULL);
    if (!env->key)
      return -1;
    break;
@@ -298,7 +297,9 @@ int crypto_pk_read_public_key_from_file(crypto_pk_env_t *env, FILE *src)
  
  switch(env->type) {
    case CRYPTO_PK_RSA:
    env->key = (unsigned char *)PEM_read_RSAPublicKey(src, (RSA **)&env->key, NULL, NULL);
    if(env->key)
      RSA_free((RSA *)env->key); 
    env->key = (unsigned char *)PEM_read_RSAPublicKey(src, NULL, NULL, NULL);
    if (!env->key)
      return -1;
    break;