diff options
author | George Kadianakis <desnacked@riseup.net> | 2018-09-18 14:01:15 +0300 |
---|---|---|
committer | George Kadianakis <desnacked@riseup.net> | 2018-09-18 14:01:15 +0300 |
commit | 43324b0e4d9835ca7bab1d8e6bc4544a708b8ea4 (patch) | |
tree | a4fb20d76708fde401133e81f820e0beb38c1595 | |
parent | 1f9055c8845920e0aad8fc0cf3fd71b19905b2cb (diff) | |
download | tor-43324b0e4d9835ca7bab1d8e6bc4544a708b8ea4.tar.gz tor-43324b0e4d9835ca7bab1d8e6bc4544a708b8ea4.zip |
Fix minor memleak in edge-case of crypto_rsa.c function.
-rw-r--r-- | src/lib/crypt_ops/crypto_rsa.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/crypt_ops/crypto_rsa.c b/src/lib/crypt_ops/crypto_rsa.c index c3c6db6c31..a510e12964 100644 --- a/src/lib/crypt_ops/crypto_rsa.c +++ b/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); |