1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-04 22:03:09 +02:00

avcodec/ffv1dec: don't add offsets to NULL pointers

Fixes: libavcodec/ffv1dec.c:452:43: runtime error: applying zero offset to null pointer
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer
2025-07-13 19:56:13 -03:00
parent 307983b292
commit 9c55f22ef2

View File

@ -444,14 +444,16 @@ static int decode_slice(AVCodecContext *c, void *arg)
} else if (f->use32bit) { } else if (f->use32bit) {
uint8_t *planes[4] = { p->data[0] + ps * x + y * p->linesize[0], uint8_t *planes[4] = { p->data[0] + ps * x + y * p->linesize[0],
p->data[1] + ps * x + y * p->linesize[1], p->data[1] + ps * x + y * p->linesize[1],
p->data[2] + ps * x + y * p->linesize[2], p->data[2] + ps * x + y * p->linesize[2] };
p->data[3] + ps * x + y * p->linesize[3] }; if (f->transparency)
planes[3] = p->data[3] + ps * x + y * p->linesize[3];
decode_rgb_frame32(f, sc, &gb, planes, width, height, p->linesize); decode_rgb_frame32(f, sc, &gb, planes, width, height, p->linesize);
} else { } else {
uint8_t *planes[4] = { p->data[0] + ps * x + y * p->linesize[0], uint8_t *planes[4] = { p->data[0] + ps * x + y * p->linesize[0],
p->data[1] + ps * x + y * p->linesize[1], p->data[1] + ps * x + y * p->linesize[1],
p->data[2] + ps * x + y * p->linesize[2], p->data[2] + ps * x + y * p->linesize[2] };
p->data[3] + ps * x + y * p->linesize[3] }; if (f->transparency)
planes[3] = p->data[3] + ps * x + y * p->linesize[3];
decode_rgb_frame(f, sc, &gb, planes, width, height, p->linesize); decode_rgb_frame(f, sc, &gb, planes, width, height, p->linesize);
} }
if (ac != AC_GOLOMB_RICE && f->version > 2) { if (ac != AC_GOLOMB_RICE && f->version > 2) {