]> sigrok.org Git - libsigrok.git/blobdiff - src/session.c
scpi: Use locale independent sr_vsnprintf_ascii() and sr_vsprintf_ascii() functions.
[libsigrok.git] / src / session.c
index ad39ddcf54f457212637d120caaec55fa5cc4a52..fc7d0bc4b8dd908504bb05d99a1b291846235a5c 100644 (file)
@@ -1484,8 +1484,15 @@ 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) {
+                       g_free(logic_copy);
+                       return SR_ERR;
+               }
                memcpy(logic_copy->data, logic->data, logic->length * logic->unitsize);
                (*copy)->payload = logic_copy;
                break;