[FFmpeg-devel] [PATCH] avformat/mxfdec: Fix false positive in infinite loop detector

Michael Niedermayer michaelni at gmx.at
Mon Oct 27 17:29:27 CET 2014


On Mon, Oct 27, 2014 at 04:52:26PM +0100, tomas.hardin at codemill.se wrote:
> On 2014-10-27 16:27, Michael Niedermayer wrote:
> >Fixes Ticket4040
> >
> >Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> >---
> > libavformat/mxfdec.c |   11 +++++++++--
> > 1 file changed, 9 insertions(+), 2 deletions(-)
> >
> >diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
> >index b01dd0c..a1abc34 100644
> >--- a/libavformat/mxfdec.c
> >+++ b/libavformat/mxfdec.c
> >@@ -2211,6 +2211,13 @@ end:
> >     avio_seek(s->pb, mxf->run_in, SEEK_SET);
> > }
> >
> >+static uint64_t loop_detection_state(AVFormatContext *s)
> >+{
> >+    MXFContext *mxf = s->priv_data;
> >+
> >+    return avio_tell(s->pb) + 0xA987654321*!mxf->current_partition;
> >+}
> >+
> 
> What the hell? Just use a flag or something, or
> mxf->parsing_backward (preferably)

i tried parsing_backward before posting this, sadly it didnt help
Ticket4040, at least not in mxf->current_partition place above or i
made some dumb mistake

"mxf->current_partition != NULL" was used as this was part of the
condition that made the 2 occurances of the same position diverge

The patch surely is ugly, i dont like it at all either ...


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The worst form of inequality is to try to make unequal things equal.
-- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141027/1f218009/attachment.asc>


More information about the ffmpeg-devel mailing list