diff options
| author | Tim Burke <tim.burke@gmail.com> | 2016-12-06 03:38:27 +0000 |
|---|---|---|
| committer | Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp> | 2016-12-05 22:11:23 -0800 |
| commit | 288d1e07de0f3b525ea7ae5b7c7fd67d6187756f (patch) | |
| tree | 0e435e2b8442f2be8b1ff95e0c2f1f22007af27a /src/c | |
| parent | ebaffcdfc14ba8d2aea2e39100d0e1e53d40aefa (diff) | |
| download | pyeclib-288d1e07de0f3b525ea7ae5b7c7fd67d6187756f.tar.gz | |
Fix checksum memory leak
Since we allocate the result buffer in hex_encode_string, we're
responsible for freeing it later.
Why didn't we catch it before? Turns out, our tests didn't
loop enough. I wasn't reliably seeing a test failure at 200k
iterations, but 400k seems to be enough?
Closes-Bug: #1634006
Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com>
Related-Change: I678e10008c3c5bc04640f7f19498334d94cb0cd6
Change-Id: I0f6e922ba25ad56142f3d095896b9856a436a81c
Diffstat (limited to 'src/c')
| -rw-r--r-- | src/c/pyeclib_c/pyeclib_c.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/c/pyeclib_c/pyeclib_c.c b/src/c/pyeclib_c/pyeclib_c.c index 8e1a23c..7f91555 100644 --- a/src/c/pyeclib_c/pyeclib_c.c +++ b/src/c/pyeclib_c/pyeclib_c.c @@ -1044,6 +1044,7 @@ fragment_metadata_to_dict(fragment_metadata_t *fragment_metadata) "chksum_mismatch", fragment_metadata->chksum_mismatch, "backend_id", backend_id_str, "backend_version", fragment_metadata->backend_version); + encoded_chksum = check_and_free_buffer(encoded_chksum); if (metadata_dict == NULL) { pyeclib_c_seterr(-ENOMEM, "fragment_metadata_to_dict ERROR: "); return NULL; |
