X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fsession.c;fp=src%2Fsession.c;h=0620b222b2cafa37b596d9011be2964d1320887b;hb=f129014ca4cc1e38749934c5089b8bcb2ab3ea35;hp=ad39ddcf54f457212637d120caaec55fa5cc4a52;hpb=da6f107efffbc7b2744f1ca69e8dc3d0c71a0a4a;p=libsigrok.git diff --git a/src/session.c b/src/session.c index ad39ddcf..0620b222 100644 --- a/src/session.c +++ b/src/session.c @@ -1484,8 +1484,13 @@ SR_PRIV int sr_packet_copy(const struct sr_datafeed_packet *packet, case SR_DF_LOGIC: logic = packet->payload; logic_copy = g_malloc(sizeof(*logic_copy)); + if (!logic_copy) + return SR_ERR; logic_copy->length = logic->length; logic_copy->unitsize = logic->unitsize; + logic_copy->data = g_malloc(logic->length * logic->unitsize); + if (!logic_copy->data) + return SR_ERR; memcpy(logic_copy->data, logic->data, logic->length * logic->unitsize); (*copy)->payload = logic_copy; break;