[FFmpeg-devel] [PATCH] qpeg: avoid pointless invalid memcpy()
wm4
nfxjfg at googlemail.com
Tue Jan 13 14:47:47 CET 2015
If refdata was NULL, the memcpy() ended up copying the same memory
block onto itself, which is not only pointless, but also undefined
behavior.
---
Someone spotted the issue in valgrind output.
---
libavcodec/qpeg.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/libavcodec/qpeg.c b/libavcodec/qpeg.c
index d61bcea..71f322b 100644
--- a/libavcodec/qpeg.c
+++ b/libavcodec/qpeg.c
@@ -120,12 +120,13 @@ static void av_noinline qpeg_decode_inter(QpegContext *qctx, uint8_t *dst,
int filled = 0;
int orig_height;
- if(!refdata)
- refdata= dst;
-
- /* copy prev frame */
- for(i = 0; i < height; i++)
- memcpy(dst + (i * stride), refdata + (i * stride), width);
+ if (refdata) {
+ /* copy prev frame */
+ for (i = 0; i < height; i++)
+ memcpy(dst + (i * stride), refdata + (i * stride), width);
+ } else {
+ refdata = dst;
+ }
orig_height = height;
height--;
--
2.1.4
More information about the ffmpeg-devel
mailing list