]> sigrok.org Git - libsigrok.git/blobdiff - src/session.c
session: fix another potential memory leak
[libsigrok.git] / src / session.c
index 0620b222b2cafa37b596d9011be2964d1320887b..fc7d0bc4b8dd908504bb05d99a1b291846235a5c 100644 (file)
@@ -1489,8 +1489,10 @@ SR_PRIV int sr_packet_copy(const struct sr_datafeed_packet *packet,
                logic_copy->length = logic->length;
                logic_copy->unitsize = logic->unitsize;
                logic_copy->data = g_malloc(logic->length * logic->unitsize);
-               if (!logic_copy->data)
+               if (!logic_copy->data) {
+                       g_free(logic_copy);
                        return SR_ERR;
+               }
                memcpy(logic_copy->data, logic->data, logic->length * logic->unitsize);
                (*copy)->payload = logic_copy;
                break;