]> sigrok.org Git - libsigrok.git/commitdiff
C++ binding: Fixup memory leak in input module receive() calls
authorGerhard Sittig <redacted>
Fri, 9 Jun 2017 21:13:35 +0000 (23:13 +0200)
committerGerhard Sittig <redacted>
Fri, 9 Jun 2017 21:21:03 +0000 (23:21 +0200)
The Input::send() method allocated glib strings and copied input data,
but only released the glib string container and leaked the actual string
content. This led to leaks in the size of the verbatim input file, which
is especially wasteful for uncompressed textual representations.

This fixes bug #976.

bindings/cxx/classes.cpp

index 03b81edb3cc0da0b0256ea751199e976cc5aa631..e4340fdf8f164d9db5d80bc98f9c4beb683912ed 100644 (file)
@@ -1407,7 +1407,7 @@ void Input::send(void *data, size_t length)
 {
        auto gstr = g_string_new_len(static_cast<char *>(data), length);
        auto ret = sr_input_send(_structure, gstr);
-       g_string_free(gstr, false);
+       g_string_free(gstr, true);
        check(ret);
 }