Browse Source

Fix minor memleak in edge-case of crypto_rsa.c function.

George Kadianakis 5 years ago
parent
commit
43324b0e4d
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/lib/crypt_ops/crypto_rsa.c

+ 3 - 1
src/lib/crypt_ops/crypto_rsa.c

@@ -554,8 +554,10 @@ crypto_pk_read_private_key_from_filename(crypto_pk_t *env,
   char *buf = read_file_to_str(keyfile, 0, &st);
   if (!buf)
     return -1;
-  if (st.st_size > MAX_PRIVKEY_FILE_LEN)
+  if (st.st_size > MAX_PRIVKEY_FILE_LEN) {
+    tor_free(buf);
     return -1;
+  }
 
   int rv = crypto_pk_read_private_key_from_string(env, buf,
                                                   (ssize_t)st.st_size);