aes1610: fix memory corruption introduced by a457658f1b

This commit is contained in:
Vasily Khoruzhick 2015-09-19 10:28:49 -07:00
parent 6e8d5cd6a1
commit 6664f87d8f

View file

@ -579,11 +579,14 @@ static void capture_read_strip_cb(struct libusb_transfer *transfer)
} }
if (sum > 0) { if (sum > 0) {
/* FIXME: would preallocating strip buffers be a decent optimization? */ /* FIXME: would preallocating strip buffers be a decent optimization? */
stripdata = g_malloc(128 * 4); struct aes_stripe *stripe = g_malloc(FRAME_WIDTH * (FRAME_HEIGHT / 2) + sizeof(struct aes_stripe));
memcpy(stripdata, data + 1, 128 * 4); stripe->delta_x = 0;
aesdev->strips = g_slist_prepend(aesdev->strips, stripdata); stripe->delta_y = 0;
aesdev->strips_len++; stripdata = stripe->data;
memcpy(stripdata, data + 1, FRAME_WIDTH * (FRAME_HEIGHT / 2));
aesdev->strips = g_slist_prepend(aesdev->strips, stripe);
aesdev->strips_len++;
aesdev->blanks_count = 0; aesdev->blanks_count = 0;
} }