• 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
..
4xm.c Loading commit data...
Makefile Loading commit data...
a64.c Loading commit data...
aacdec.c Loading commit data...
ac3dec.c Loading commit data...
adtsenc.c Loading commit data...
adxdec.c Loading commit data...
aea.c Loading commit data...
aiff.h Loading commit data...
aiffdec.c Loading commit data...
aiffenc.c Loading commit data...
allformats.c Loading commit data...
amr.c Loading commit data...
anm.c Loading commit data...
apc.c Loading commit data...
ape.c Loading commit data...
apetag.c Loading commit data...
apetag.h Loading commit data...
asf.c Loading commit data...
asf.h Loading commit data...
asfcrypt.c Loading commit data...
asfcrypt.h Loading commit data...
asfdec.c Loading commit data...
asfenc.c Loading commit data...
assdec.c Loading commit data...
assenc.c Loading commit data...
au.c Loading commit data...
audiointerleave.c Loading commit data...
audiointerleave.h Loading commit data...
avc.c Loading commit data...
avc.h Loading commit data...
avformat.h Loading commit data...
avi.h Loading commit data...
avidec.c Loading commit data...
avienc.c Loading commit data...
avio.c Loading commit data...
avio.h Loading commit data...
avio_internal.h Loading commit data...
aviobuf.c Loading commit data...
avisynth.c Loading commit data...
avlanguage.c Loading commit data...
avlanguage.h Loading commit data...
avs.c Loading commit data...
bethsoftvid.c Loading commit data...
bfi.c Loading commit data...
bink.c Loading commit data...
bmv.c Loading commit data...
c93.c Loading commit data...
caf.c Loading commit data...
caf.h Loading commit data...
cafdec.c Loading commit data...
cavsvideodec.c Loading commit data...
cdg.c Loading commit data...
cdxl.c Loading commit data...
concat.c Loading commit data...
crcenc.c Loading commit data...
crypto.c Loading commit data...
cutils.c Loading commit data...
daud.c Loading commit data...
dfa.c Loading commit data...
diracdec.c Loading commit data...
dnxhddec.c Loading commit data...
dsicin.c Loading commit data...
dtsdec.c Loading commit data...
dv.c Loading commit data...
dv.h Loading commit data...
dvenc.c Loading commit data...
dxa.c Loading commit data...
eacdata.c Loading commit data...
electronicarts.c Loading commit data...
ffm.h Loading commit data...
ffmdec.c Loading commit data...
ffmenc.c Loading commit data...
ffmeta.h Loading commit data...
ffmetadec.c Loading commit data...
ffmetaenc.c Loading commit data...
file.c Loading commit data...
filmstripdec.c Loading commit data...
filmstripenc.c Loading commit data...
flacdec.c Loading commit data...
flacenc.c Loading commit data...
flacenc.h Loading commit data...
flacenc_header.c Loading commit data...
flic.c Loading commit data...
flv.h Loading commit data...
flvdec.c Loading commit data...
flvenc.c Loading commit data...
framecrcenc.c Loading commit data...
framehash.c Loading commit data...
g722.c Loading commit data...
g723_1.c Loading commit data...
gif.c Loading commit data...
gopher.c Loading commit data...
gsmdec.c Loading commit data...
gxf.c Loading commit data...
gxf.h Loading commit data...
gxfenc.c Loading commit data...
h261dec.c Loading commit data...
h263dec.c Loading commit data...
h264dec.c Loading commit data...
hls.c Loading commit data...
hlsenc.c Loading commit data...
hlsproto.c Loading commit data...
http.c Loading commit data...
http.h Loading commit data...
httpauth.c Loading commit data...
httpauth.h Loading commit data...
id3v1.c Loading commit data...
id3v1.h Loading commit data...
id3v2.c Loading commit data...
id3v2.h Loading commit data...
id3v2enc.c Loading commit data...
idcin.c Loading commit data...
idroqdec.c Loading commit data...
idroqenc.c Loading commit data...
iff.c Loading commit data...
ilbc.c Loading commit data...
img2.c Loading commit data...
img2dec.c Loading commit data...
img2enc.c Loading commit data...
ingenientdec.c Loading commit data...
internal.h Loading commit data...
ipmovie.c Loading commit data...
isom.c Loading commit data...
isom.h Loading commit data...
iss.c Loading commit data...
iv8.c Loading commit data...
ivfdec.c Loading commit data...
ivfenc.c Loading commit data...
jvdec.c Loading commit data...
latmenc.c Loading commit data...
libavformat.v Loading commit data...
librtmp.c Loading commit data...
lmlm4.c Loading commit data...
log2_tab.c Loading commit data...
lxfdec.c Loading commit data...
m4vdec.c Loading commit data...
matroska.c Loading commit data...
matroska.h Loading commit data...
matroskadec.c Loading commit data...
matroskaenc.c Loading commit data...
md5enc.c Loading commit data...
md5proto.c Loading commit data...
metadata-example.c Loading commit data...
metadata.c Loading commit data...
metadata.h Loading commit data...
mm.c Loading commit data...
mmf.c Loading commit data...
mms.c Loading commit data...
mms.h Loading commit data...
mmsh.c Loading commit data...
mmst.c Loading commit data...
mov.c Loading commit data...
mov_chan.c Loading commit data...
mov_chan.h Loading commit data...
movenc.c Loading commit data...
movenc.h Loading commit data...
movenchint.c Loading commit data...
mp3dec.c Loading commit data...
mp3enc.c Loading commit data...
mpc.c Loading commit data...
mpc8.c Loading commit data...
mpeg.c Loading commit data...
mpeg.h Loading commit data...
mpegenc.c Loading commit data...
mpegts.c Loading commit data...
mpegts.h Loading commit data...
mpegtsenc.c Loading commit data...
mpegvideodec.c Loading commit data...
mpjpeg.c Loading commit data...
msnwc_tcp.c Loading commit data...
mtv.c Loading commit data...
mux.c Loading commit data...
mvi.c Loading commit data...
mxf.c Loading commit data...
mxf.h Loading commit data...
mxfdec.c Loading commit data...
mxfenc.c Loading commit data...
mxg.c Loading commit data...
ncdec.c Loading commit data...
network.c Loading commit data...
network.h Loading commit data...
nsvdec.c Loading commit data...
nullenc.c Loading commit data...
nut.c Loading commit data...
nut.h Loading commit data...
nutdec.c Loading commit data...
nutenc.c Loading commit data...
nuv.c Loading commit data...
oggdec.c Loading commit data...
oggdec.h Loading commit data...
oggenc.c Loading commit data...
oggparsecelt.c Loading commit data...
oggparsedirac.c Loading commit data...
oggparseflac.c Loading commit data...
oggparseogm.c Loading commit data...
oggparseskeleton.c Loading commit data...
oggparsespeex.c Loading commit data...
oggparsetheora.c Loading commit data...
oggparsevorbis.c Loading commit data...
oma.c Loading commit data...
oma.h Loading commit data...
omadec.c Loading commit data...
omaenc.c Loading commit data...
options.c Loading commit data...
options_table.h Loading commit data...
os_support.c Loading commit data...
os_support.h Loading commit data...
output-example.c Loading commit data...
pcm.c Loading commit data...
pcm.h Loading commit data...
pcmdec.c Loading commit data...
pcmenc.c Loading commit data...
pmpdec.c Loading commit data...
psxstr.c Loading commit data...
pva.c Loading commit data...
qcp.c Loading commit data...
qtpalette.h Loading commit data...
r3d.c Loading commit data...
rawdec.c Loading commit data...
rawdec.h Loading commit data...
rawenc.c Loading commit data...
rawenc.h Loading commit data...
rawvideodec.c Loading commit data...
rdt.c Loading commit data...
rdt.h Loading commit data...
riff.c Loading commit data...
riff.h Loading commit data...
rl2.c Loading commit data...
rm.c Loading commit data...
rm.h Loading commit data...
rmdec.c Loading commit data...
rmenc.c Loading commit data...
rmsipr.c Loading commit data...
rmsipr.h Loading commit data...
rpl.c Loading commit data...
rso.c Loading commit data...
rso.h Loading commit data...
rsodec.c Loading commit data...
rsoenc.c Loading commit data...
rtmp.h Loading commit data...
rtmpcrypt.c Loading commit data...
rtmpcrypt.h Loading commit data...
rtmpdh.c Loading commit data...
rtmpdh.h Loading commit data...
rtmphttp.c Loading commit data...
rtmppkt.c Loading commit data...
rtmppkt.h Loading commit data...
rtmpproto.c Loading commit data...
rtp.c Loading commit data...
rtp.h Loading commit data...
rtpdec.c Loading commit data...
rtpdec.h Loading commit data...
rtpdec_amr.c Loading commit data...
rtpdec_asf.c Loading commit data...
rtpdec_formats.h Loading commit data...
rtpdec_g726.c Loading commit data...
rtpdec_h263.c Loading commit data...
rtpdec_h263_rfc2190.c Loading commit data...
rtpdec_h264.c Loading commit data...
rtpdec_ilbc.c Loading commit data...
rtpdec_jpeg.c Loading commit data...
rtpdec_latm.c Loading commit data...
rtpdec_mpeg4.c Loading commit data...
rtpdec_qcelp.c Loading commit data...
rtpdec_qdm2.c Loading commit data...
rtpdec_qt.c Loading commit data...
rtpdec_svq3.c Loading commit data...
rtpdec_vp8.c Loading commit data...
rtpdec_xiph.c Loading commit data...
rtpenc.c Loading commit data...
rtpenc.h Loading commit data...
rtpenc_aac.c Loading commit data...
rtpenc_amr.c Loading commit data...
rtpenc_chain.c Loading commit data...
rtpenc_chain.h Loading commit data...
rtpenc_h263.c Loading commit data...
rtpenc_h263_rfc2190.c Loading commit data...
rtpenc_h264.c Loading commit data...
rtpenc_jpeg.c Loading commit data...
rtpenc_latm.c Loading commit data...
rtpenc_mpv.c Loading commit data...
rtpenc_vp8.c Loading commit data...
rtpenc_xiph.c Loading commit data...
rtpproto.c Loading commit data...
rtsp.c Loading commit data...
rtsp.h Loading commit data...
rtspcodes.h Loading commit data...
rtspdec.c Loading commit data...
rtspenc.c Loading commit data...
sapdec.c Loading commit data...
sapenc.c Loading commit data...
sauce.c Loading commit data...
sauce.h Loading commit data...
sctp.c Loading commit data...
sdp.c Loading commit data...
seek-test.c Loading commit data...
seek.c Loading commit data...
seek.h Loading commit data...
segafilm.c Loading commit data...
segment.c Loading commit data...
sierravmd.c Loading commit data...
siff.c Loading commit data...
smacker.c Loading commit data...
smjpeg.c Loading commit data...
smjpeg.h Loading commit data...
smjpegdec.c Loading commit data...
smjpegenc.c Loading commit data...
smoothstreamingenc.c Loading commit data...
sol.c Loading commit data...
sox.h Loading commit data...
soxdec.c Loading commit data...
soxenc.c Loading commit data...
spdif.c Loading commit data...
spdif.h Loading commit data...
spdifdec.c Loading commit data...
spdifenc.c Loading commit data...
srtdec.c Loading commit data...
swf.c Loading commit data...
swf.h Loading commit data...
swfdec.c Loading commit data...
swfenc.c Loading commit data...
tcp.c Loading commit data...
thp.c Loading commit data...
tiertexseq.c Loading commit data...
tls.c Loading commit data...
tmv.c Loading commit data...
tta.c Loading commit data...
tty.c Loading commit data...
txd.c Loading commit data...
udp.c Loading commit data...
url-test.c Loading commit data...
url.h Loading commit data...
urldecode.c Loading commit data...
urldecode.h Loading commit data...
utils.c Loading commit data...
vc1test.c Loading commit data...
vc1testenc.c Loading commit data...
version.h Loading commit data...
voc.c Loading commit data...
voc.h Loading commit data...
vocdec.c Loading commit data...
vocenc.c Loading commit data...
vorbiscomment.c Loading commit data...
vorbiscomment.h Loading commit data...
vqf.c Loading commit data...
wavdec.c Loading commit data...
wavenc.c Loading commit data...
wc3movie.c Loading commit data...
westwood_aud.c Loading commit data...
westwood_vqa.c Loading commit data...
wtv.c Loading commit data...
wv.c Loading commit data...
xa.c Loading commit data...
xmv.c Loading commit data...
xwma.c Loading commit data...
yop.c Loading commit data...
yuv4mpeg.c Loading commit data...