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;