On 04.01.2015, at 22:44, Peter Ross <pr...@xvid.org> wrote:
> Signed-off-by: Peter Ross <pr...@xvid.org>
> ---
> Revised patch. Now passes FATE.
> 
> libavformat/aiffdec.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
> index 91ef2a4..8dbed32 100644
> --- a/libavformat/aiffdec.c
> +++ b/libavformat/aiffdec.c
> @@ -116,10 +116,12 @@ static unsigned int get_aiff_header(AVFormatContext *s, 
> int size,
>     size -= 18;
> 
>     /* get codec id for AIFF-C */
> -    if (version == AIFF_C_VERSION1) {
> +    if (version == AIFF_C_VERSION1 && size >= 4) {
>         codec->codec_tag = avio_rl32(pb);
>         codec->codec_id  = ff_codec_get_id(ff_codec_aiff_tags, 
> codec->codec_tag);
>         size -= 4;
> +    } else {
> +        version = AIFF;

If we were to add a 3rd version, like this it would always the overridden to 
AIFF here, which seems not very good to me.
Also nit: wouldn't this in be more readable the other way round anyway while 
solving that concern? At least I think having one-liners in the if instead of 
the else part is better, though some people say you should put the less common 
path in the else (though strictly speaking the else isn't even necessary with 
flipped order).
if (size < 4) {
    version = AIFF;
} else if (....) {
}
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to