summaryrefslogtreecommitdiff
path: root/src/c
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2016-12-06 03:38:27 +0000
committerKota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp>2016-12-05 22:11:23 -0800
commit288d1e07de0f3b525ea7ae5b7c7fd67d6187756f (patch)
tree0e435e2b8442f2be8b1ff95e0c2f1f22007af27a /src/c
parentebaffcdfc14ba8d2aea2e39100d0e1e53d40aefa (diff)
downloadpyeclib-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.c1
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;