On Tue, Oct 04, 2011 at 10:17:08PM +0200, Ronald S. Bultje wrote:
> Hi,
> 
> On Tue, Oct 4, 2011 at 10:03 PM, Janne Grunau <[email protected]> wrote:
> > On Tue, Oct 04, 2011 at 01:48:35PM +0000, Ronald S. Bultje wrote:
> >> From 0e5dbaf40f975ab1ad4c199c007e908037d3e356 Mon Sep 17 00:00:00 2001
> >> From: Ronald S. Bultje <[email protected]>
> >> Date: Mon, 3 Oct 2011 08:38:03 -0700
> >> Subject: [PATCH 1/2] mpegvideo: set correct offset for edge emulation 
> >> buffer.
> >>
> >> Using the old code, half of it was unused and the other half was too
> >> small for e.g. >8bpp interlaced data, causing random buffer overruns.
> >> ---
> >>  libavcodec/mpegvideo.c |    6 ++----
> >>  libavcodec/mpegvideo.h |    1 -
> >>  2 files changed, 2 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
> >> index 923d46c..78d4d4e 100644
> >> --- a/libavcodec/mpegvideo.h
> >> +++ b/libavcodec/mpegvideo.h
> >> @@ -319,7 +319,6 @@ typedef struct MpegEncContext {
> >>      uint8_t *mbintra_table;       ///< used to avoid setting {ac, dc, 
> >> cbp}-pred stuff to zero on inter MB decoding
> >>      uint8_t *cbp_table;           ///< used to store cbp, ac_pred for 
> >> partitioned decoding
> >>      uint8_t *pred_dir_table;      ///< used to store pred_dir for 
> >> partitioned decoding
> >> -    uint8_t *allocated_edge_emu_buffer;
> >>      uint8_t *edge_emu_buffer;     ///< points into the middle of 
> >> allocated_edge_emu_buffer
> >
> > please remove the wrong comment too
> >
> > Have you tried to verify that no codec tries to access negative indices
> > in edge_emu_buffer?
> 
> fate runs under valgrind. Not sure what other tests I should do?

Staring at code. I briefly looked through rv40's use of edge_emu_buffer
and it looks safe. I guess fate under valgrind is good enough, though.

Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to