summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorhenry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-06-07 10:04:22 +0000
committerhenry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-06-07 10:04:22 +0000
commit2a739145e4cfaaf9f095ee821bfce9fc75bc1e47 (patch)
treeb9545a6fbf760512ef071a8d660921987d5ee9fc /libmpcodecs
parentf4f07c6a5289e97736f264340b88fe1bb8da36ab (diff)
downloadmpv-2a739145e4cfaaf9f095ee821bfce9fc75bc1e47.tar.bz2
mpv-2a739145e4cfaaf9f095ee821bfce9fc75bc1e47.tar.xz
correcting the previous draw_slice fix
- don't draw slices beyond sh->disp_h - draw slices sh->disp_w wide to avoid buffer overflow in VO git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15684 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vd_ffmpeg.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
index 3de2173241..b02b849a45 100644
--- a/libmpcodecs/vd_ffmpeg.c
+++ b/libmpcodecs/vd_ffmpeg.c
@@ -451,11 +451,13 @@ static void draw_slice(struct AVCodecContext *s,
}
}else
#endif
+ if (y < sh->disp_h) {
#if LIBAVCODEC_BUILD >= 4670
- mpcodecs_draw_slice (sh, source, src->linesize, width, (y+16)<=sh->disp_h?height:sh->disp_h-y, 0, y);
+ mpcodecs_draw_slice (sh, source, src->linesize, sh->disp_w, (y+16)<=sh->disp_h?height:sh->disp_h-y, 0, y);
#else
- mpcodecs_draw_slice (sh,src, stride, width, (y+16)<=sh->disp_h?height:sh->disp_h-y, 0, y);
+ mpcodecs_draw_slice (sh,src, stride, sh->disp_w, (y+16)<=sh->disp_h?height:sh->disp_h-y, 0, y);
#endif
+ }
}