diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2021-03-26 14:11:18 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-04-01 14:41:31 +0200 |
commit | dd9cbd1cc31e72ad9f11d10d086a46d339a924ca (patch) | |
tree | 56dc941e829ae92c93e73b62d048b78a15db8924 | |
parent | 911fe69c5f5946461d9e7c785b19e3841dabd873 (diff) | |
download | ffmpeg-dd9cbd1cc31e72ad9f11d10d086a46d339a924ca.tar.gz |
avcodec/lcldec: Fix undefined NULL + 0
Affected the FATE tests vsynth*-zlib, mszh and zlib.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r-- | libavcodec/lcldec.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libavcodec/lcldec.c b/libavcodec/lcldec.c index 2dcd249b65..d281733fdd 100644 --- a/libavcodec/lcldec.c +++ b/libavcodec/lcldec.c @@ -173,7 +173,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPac int uqvq, ret; unsigned int mthread_inlen, mthread_outlen; unsigned int len = buf_size; - int linesize; + int linesize, offset; if ((ret = ff_thread_get_buffer(avctx, &tframe, 0)) < 0) return ret; @@ -373,8 +373,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPac /* Convert colorspace */ y_out = frame->data[0] + (height - 1) * frame->linesize[0]; - u_out = frame->data[1] + (height - 1) * frame->linesize[1]; - v_out = frame->data[2] + (height - 1) * frame->linesize[2]; + offset = (height - 1) * frame->linesize[1]; + u_out = FF_PTR_ADD(frame->data[1], offset); + offset = (height - 1) * frame->linesize[2]; + v_out = FF_PTR_ADD(frame->data[2], offset); switch (c->imgtype) { case IMGTYPE_YUV111: for (row = 0; row < height; row++) { |