Fix double free on error condition 67/86767/2
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Fri, 2 Sep 2016 16:22:35 +0000 (18:22 +0200)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Fri, 2 Sep 2016 16:51:28 +0000 (18:51 +0200)
Change-Id: I41224563de4d6176e60a5f4c893560e3dcf96b86
Reported-by: Krzysztof Kozlowski <k.kozlowski.k@gmail.com>
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
libthor/thor.c

index a670f4d69d88d89e66d78f6f0dc39c51247f00dd..4ab42a28851c5c74bd201b41614c8c91ef8e12b1 100644 (file)
@@ -426,8 +426,11 @@ static int t_thor_send_raw_data(thor_device_handle *th,
 cancel_chunks:
        for (j = 0; j < i; ++j)
                t_thor_cancel_chunk(chunk + j);
-       if (i)
+       if (i) {
+               transfer_data.completed = 0;
                t_thor_handle_events(&transfer_data);
+       }
+
        i = ARRAY_SIZE(chunk);
 cleanup_chunks:
        for (j = 0; j < i; ++j)