X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fsession.c;h=fc7d0bc4b8dd908504bb05d99a1b291846235a5c;hb=fac36d0a7714b3e052f2eddbc1baecdaa47fc6ce;hp=0620b222b2cafa37b596d9011be2964d1320887b;hpb=f129014ca4cc1e38749934c5089b8bcb2ab3ea35;p=libsigrok.git diff --git a/src/session.c b/src/session.c index 0620b222..fc7d0bc4 100644 --- a/src/session.c +++ b/src/session.c @@ -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;