vivid: fix buffer overrun
PATCH 1/1 vivid: fix buffer overrun
The random_line buffer must be twice the maximum width, but it only allocated the maximum width, so it was only half the size it needed to be.
Surprisingly I never saw the kernel fail on this, but the same TPG code used in qv4l2 crashed and valgrind helped me track this bug down.
Signed-off-by Hans Verkuil <[email protected]>
drivers/media/platform/vivid/vivid-tpg.c +1 -1
@@ -136,7 +136,7 @@ int tpg_alloc(struct tpg_data *tpg, unsigned max_w) tpg->black_line[plane] =vzalloc (max_w * pixelsz);if (!tpg->black_line[plane])return -ENOMEM ; - tpg->random_line[plane] =vzalloc (max_w * pixelsz); + tpg->random_line[plane] =vzalloc (max_w *2 * pixelsz);if (!tpg->random_line[plane])return -ENOMEM ; }