]> sigrok.org Git - libsigrok.git/blobdiff - src/session.c
Consistently use the _WIN32 #define.
[libsigrok.git] / src / session.c
index 0620b222b2cafa37b596d9011be2964d1320887b..16fdfffa4bf945872bb3f8004346f76018cae4a6 100644 (file)
@@ -1294,7 +1294,7 @@ SR_PRIV int sr_session_source_add_channel(struct sr_session *session,
        /* We should be using g_io_create_watch(), but can't without
         * changing the driver API, as the callback signature is different.
         */
-#ifdef G_OS_WIN32
+#ifdef _WIN32
        g_io_channel_win32_make_pollfd(channel, events, &pollfd);
 #else
        pollfd.fd = g_io_channel_unix_get_fd(channel);
@@ -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;