]> sigrok.org Git - libsigrok.git/commitdiff
backend.c: Fix memory leak in sr_init() error path
authorPeter Stuge <redacted>
Sat, 3 Nov 2012 07:27:48 +0000 (08:27 +0100)
committerPeter Stuge <redacted>
Wed, 5 Dec 2012 00:34:15 +0000 (01:34 +0100)
Commit 785b9ff290cbdb86e7d0b0280c33b43faf9c0518 added libusb init into
sr_init() which can generate an error. In this case, the already
allocated struct sr_context would have leaked.

backend.c

index 22f65a7c515174a6513c2f7d7c34d2fdb2584c74..f596c96effb4242ae095599b8b73e2175c602373 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -249,9 +249,12 @@ SR_API int sr_init(struct sr_context **ctx)
 #endif
 
        *ctx = context;
+       context = NULL;
        ret = SR_OK;
 
 done:
+       if (context)
+               g_free(context);
        return ret;
 }