• Xi Wang's avatar
    apetag: fix error handling in ff_ape_parse_tag() · b655cfef
    Xi Wang authored
    The following error handling is broken due to signedness.
    
        int file_size;
        uint32_t tag_bytes;
        int64_t tag_start;
        ...
        tag_start = file_size - tag_bytes - APE_TAG_FOOTER_BYTES;
        if (tag_start < 0) { ... }
    
    Note that tag_bytes is unsigned, which makes the right-hand side of
    `tag_start = ...' unsigned, too.  The 32-bit unsigned value is then
    zero-extended to 64 bits.  Therefore, tag_start must be non-negative,
    and the check (tag_start < 0) is always false, which breaks the error
    handling.  This patch fixes the check.
    Signed-off-by: 's avatarXi Wang <xi.wang@gmail.com>
    Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
    b655cfef
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
avconv.c Loading commit data...
avconv.h Loading commit data...
avconv_filter.c Loading commit data...
avconv_opt.c Loading commit data...
avplay.c Loading commit data...
avprobe.c Loading commit data...
avserver.c Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...