[FFmpeg-devel] [PATCH 3/3] nutdec: abort if EOF is reached in decode_info_header/read_sm_data

Michael Niedermayer michaelni at gmx.at
Wed May 20 03:46:11 CEST 2015


On Wed, May 20, 2015 at 12:50:00AM +0200, Andreas Cadhalpun wrote:
> These loops can take a lot of time if count is very large.
> 
> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> ---
>  libavformat/nutdec.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
> index e979ee6..ad61d7e 100644
> --- a/libavformat/nutdec.c
> +++ b/libavformat/nutdec.c
> @@ -524,6 +524,10 @@ static int decode_info_header(NUTContext *nut)
>      }
>  
>      for (i = 0; i < count; i++) {
> +        if (bc->eof_reached) {
> +            av_log(s, AV_LOG_ERROR, "reached EOF while decoding info header\n");
> +            return AVERROR_INVALIDDATA;
> +        }
>          get_str(bc, name, sizeof(name));

this could check the return code from get_str()
which would return failure on EOF already i think
that would be slightly simpler


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

Its not that you shouldnt use gotos but rather that you should write
readable code and code with gotos often but not always is less readable
-------------- 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/20150520/9fc2ea8f/attachment.asc>


More information about the ffmpeg-devel mailing list