diff options
author | Dan Williams <dcbw@redhat.com> | 2013-03-07 18:25:42 -0600 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2013-03-08 09:27:51 -0600 |
commit | fa97543186933221c51d574b85ab809b3c417931 (patch) | |
tree | 33121d7a07b444e195fa3e3c528adebffb72b0d7 /libnm-util/crypto.c | |
parent | c22e4da986035e49ad88fe759bc65e3fc2cd132e (diff) | |
download | NetworkManager-fa97543186933221c51d574b85ab809b3c417931.tar.gz |
libnm-util: free temporary decoded base64 data when parsing OpenSSL key files
==7347== 1,201 bytes in 1 blocks are definitely lost in loss record 5,016 of 5,107
==7347== at 0x4A06B0F: calloc (vg_replace_malloc.c:593)
==7347== by 0x39B90548E6: g_malloc0 (gmem.c:189)
==7347== by 0x39B9026F8D: g_base64_decode (gbase64.c:407)
==7347== by 0x4C51CA1: parse_old_openssl_key_file (crypto.c:227)
==7347== by 0x4C51EC3: crypto_decrypt_private_key_data (crypto.c:497)
==7347== by 0x4C529BE: crypto_verify_private_key_data (crypto.c:706)
==7347== by 0x4C52B7B: crypto_verify_private_key (crypto.c:735)
==7347== by 0x4C5CCC5: nm_setting_802_1x_set_private_key (nm-setting-8021x.c:1633)
==7347== by 0xC8F64D4: eap_tls_reader (reader.c:2270)
==7347== by 0xC8F4886: fill_8021x (reader.c:2704)
==7347== by 0xC8F8311: wireless_connection_from_ifcfg (reader.c:2825)
==7347== by 0xC8FAFD2: connection_from_file (reader.c:4303)
Diffstat (limited to 'libnm-util/crypto.c')
-rw-r--r-- | libnm-util/crypto.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libnm-util/crypto.c b/libnm-util/crypto.c index e708146456..6097b13dfc 100644 --- a/libnm-util/crypto.c +++ b/libnm-util/crypto.c @@ -238,11 +238,14 @@ parse_old_openssl_key_file (const GByteArray *contents, bindata = g_byte_array_sized_new (tmp_len); g_byte_array_append (bindata, tmp, tmp_len); + g_free (tmp); + *out_iv = iv; *out_cipher = cipher; return bindata; parse_error: + g_free (tmp); g_free (cipher); g_free (iv); if (str) |