]> sigrok.org Git - libsigrok.git/commitdiff
gmc-mh-1x-2x: fix potential memory leak
authorGerhard Sittig <redacted>
Fri, 9 Feb 2018 17:50:53 +0000 (18:50 +0100)
committerUwe Hermann <redacted>
Fri, 9 Feb 2018 20:37:39 +0000 (21:37 +0100)
The scan_2x_bd232() routine used to always prepare one spare context,
and filled it in when a device was found, just to allocate another one
and continue scanning.

Free the last allocated context unconditionally, as it was allocated
unconditionally, and never used.

This was reported by clang's scan-build.

src/hardware/gmc-mh-1x-2x/api.c

index bfb211d5c6ec6447a3b7dc332caa034e5ed8d2fc..f2cbd7b20ae4d0b8e4117af4f41a5aabb434df3f 100644 (file)
@@ -300,11 +300,9 @@ static GSList *scan_2x_bd232(struct sr_dev_driver *di, GSList *options)
                }
        };
 
-       /* Free last alloc if no device found */
-       if (devc->model == METRAHIT_NONE) {
-               g_free(devc);
-               sr_dev_inst_free(sdi);
-       }
+       /* Free last alloc that was done in preparation. */
+       g_free(devc);
+       sr_dev_inst_free(sdi);
 
        return std_scan_complete(di, devices);