diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-07-07 20:38:27 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-07-22 12:40:59 +0200 |
commit | c5c239f3615149619b4c51ecc76006562d5a6a12 (patch) | |
tree | 5908647b7e7cb90221ead6851ce0bfe6e543067c | |
parent | 24fc435dad55d9f136bd1c846c70491cf020e73d (diff) |
mgcp: Fix memory leak in the transcoding code
The GSM handle was never released. This was found using valgrind
and the leak check.
==14933== 752 bytes in 1 blocks are definitely lost in loss record 15 of 19
==14933== at 0x4028B4C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==14933== by 0x4130201: gsm_create (in /usr/lib/i386-linux-gnu/libgsm.so.1.0.12)
==14933== by 0x80517AE: mgcp_transcoding_setup (mgcp_transcode.c:199)
==14933== by 0x8049691: given_configured_endpoint.isra.1 (mgcp_transcoding_test.c:198)
==14933== by 0x8049C11: test_transcode_result (mgcp_transcoding_test.c:328)
==14933== by 0x8049418: main (mgcp_transcoding_test.c:582)
-rw-r--r-- | openbsc/src/libmgcp/mgcp_transcode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/openbsc/src/libmgcp/mgcp_transcode.c b/openbsc/src/libmgcp/mgcp_transcode.c index 581cd3293..b76c5d9ac 100644 --- a/openbsc/src/libmgcp/mgcp_transcode.c +++ b/openbsc/src/libmgcp/mgcp_transcode.c @@ -154,7 +154,7 @@ static int processing_state_destructor(struct mgcp_process_rtp_state *state) { switch (state->src_fmt) { case AF_GSM: - if (state->dst.gsm_handle) + if (state->src.gsm_handle) gsm_destroy(state->src.gsm_handle); break; #ifdef HAVE_BCG729 |