qpeg: avoid pointless invalid memcpy()
authorwm4 <nfxjfg@googlemail.com>
Tue, 13 Jan 2015 13:47:47 +0000 (14:47 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 13 Jan 2015 16:27:45 +0000 (17:27 +0100)
If refdata was NULL, the memcpy() ended up copying the same memory
block onto itself, which is not only pointless, but also undefined
behavior.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/qpeg.c

index d61bcea..71f322b 100644 (file)
@@ -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--;