• Marios Titas's avatar
    avfilter/src_movie: fix how we check for overflows with seek_point · e706f804
    Marios Titas authored
    Currently, if the movie source filter is used and a seek_point is
    specified on a file that has a negative start time, ffmpeg will fail.
    
    An easy way to reproduce this is as follows:
    $ ffmpeg -vsync passthrough -filter_complex 'color=d=10,setpts=PTS-1/TB' test.mp4
    $ ffmpeg -filter_complex 'movie=filename=test.mp4:seek_point=2' -f null -
    
    The problem is caused by checking for int64_t overflow the wrong way.
    In general, to check whether a + b overflows, it is not enough to do:
        a > INT64_MAX - b
    because b might be negative; the correct way is:
        b > 0 && > a > INT64_MAX - b
    Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
    (cherry picked from commit c1f9734f)
    Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
    e706f804
Name
Last commit
Last update
..
libmpcodecs Loading commit data...
x86 Loading commit data...
Makefile Loading commit data...
aeval.c Loading commit data...
af_aconvert.c Loading commit data...
af_adelay.c Loading commit data...
af_aecho.c Loading commit data...
af_afade.c Loading commit data...
af_aformat.c Loading commit data...
af_amerge.c Loading commit data...
af_amix.c Loading commit data...
af_anull.c Loading commit data...
af_apad.c Loading commit data...
af_aphaser.c Loading commit data...
af_aresample.c Loading commit data...
af_asetnsamples.c Loading commit data...
af_asetrate.c Loading commit data...
af_ashowinfo.c Loading commit data...
af_astats.c Loading commit data...
af_astreamsync.c Loading commit data...
af_asyncts.c Loading commit data...
af_atempo.c Loading commit data...
af_biquads.c Loading commit data...
af_bs2b.c Loading commit data...
af_channelmap.c Loading commit data...
af_channelsplit.c Loading commit data...
af_compand.c Loading commit data...
af_earwax.c Loading commit data...
af_flanger.c Loading commit data...
af_join.c Loading commit data...
af_ladspa.c Loading commit data...
af_pan.c Loading commit data...
af_replaygain.c Loading commit data...
af_resample.c Loading commit data...
af_silencedetect.c Loading commit data...
af_silenceremove.c Loading commit data...
af_volume.c Loading commit data...
af_volume.h Loading commit data...
af_volumedetect.c Loading commit data...
all_channel_layouts.inc Loading commit data...
allfilters.c Loading commit data...
asink_anullsink.c Loading commit data...
asrc_abuffer.h Loading commit data...
asrc_anullsrc.c Loading commit data...
asrc_flite.c Loading commit data...
asrc_sine.c Loading commit data...
audio.c Loading commit data...
audio.h Loading commit data...
avcodec.c Loading commit data...
avcodec.h Loading commit data...
avf_avectorscope.c Loading commit data...
avf_concat.c Loading commit data...
avf_showcqt.c Loading commit data...
avf_showspectrum.c Loading commit data...
avf_showwaves.c Loading commit data...
avfilter.c Loading commit data...
avfilter.h Loading commit data...
avfiltergraph.c Loading commit data...
avfiltergraph.h Loading commit data...
avfilterres.rc Loading commit data...
bbox.c Loading commit data...
bbox.h Loading commit data...
buffer.c Loading commit data...
bufferqueue.h Loading commit data...
buffersink.c Loading commit data...
buffersink.h Loading commit data...
buffersrc.c Loading commit data...
buffersrc.h Loading commit data...
deshake.h Loading commit data...
deshake_opencl.c Loading commit data...
deshake_opencl.h Loading commit data...
deshake_opencl_kernel.h Loading commit data...
drawutils.c Loading commit data...
drawutils.h Loading commit data...
dualinput.c Loading commit data...
dualinput.h Loading commit data...
f_ebur128.c Loading commit data...
f_interleave.c Loading commit data...
f_perms.c Loading commit data...
f_select.c Loading commit data...
f_sendcmd.c Loading commit data...
f_zmq.c Loading commit data...
fifo.c Loading commit data...
filtfmts.c Loading commit data...
formats.c Loading commit data...
formats.h Loading commit data...
framesync.c Loading commit data...
framesync.h Loading commit data...
generate_wave_table.c Loading commit data...
generate_wave_table.h Loading commit data...
gradfun.h Loading commit data...
graphdump.c Loading commit data...
graphparser.c Loading commit data...
internal.h Loading commit data...
lavfutils.c Loading commit data...
lavfutils.h Loading commit data...
libavfilter.v Loading commit data...
log2_tab.c Loading commit data...
lswsutils.c Loading commit data...
lswsutils.h Loading commit data...
opencl_allkernels.c Loading commit data...
opencl_allkernels.h Loading commit data...
pthread.c Loading commit data...
setpts.c Loading commit data...
settb.c Loading commit data...
split.c Loading commit data...
src_movie.c Loading commit data...
thread.h Loading commit data...
transform.c Loading commit data...
transform.h Loading commit data...
trim.c Loading commit data...
unsharp.h Loading commit data...
unsharp_opencl.c Loading commit data...
unsharp_opencl.h Loading commit data...
unsharp_opencl_kernel.h Loading commit data...
version.h Loading commit data...
vf_alphamerge.c Loading commit data...
vf_aspect.c Loading commit data...
vf_bbox.c Loading commit data...
vf_blackdetect.c Loading commit data...
vf_blackframe.c Loading commit data...
vf_blend.c Loading commit data...
vf_boxblur.c Loading commit data...
vf_codecview.c Loading commit data...
vf_colorbalance.c Loading commit data...
vf_colorchannelmixer.c Loading commit data...
vf_colormatrix.c Loading commit data...
vf_copy.c Loading commit data...
vf_crop.c Loading commit data...
vf_cropdetect.c Loading commit data...
vf_curves.c Loading commit data...
vf_dctdnoiz.c Loading commit data...
vf_decimate.c Loading commit data...
vf_dejudder.c Loading commit data...
vf_delogo.c Loading commit data...
vf_deshake.c Loading commit data...
vf_drawbox.c Loading commit data...
vf_drawtext.c Loading commit data...
vf_edgedetect.c Loading commit data...
vf_elbg.c Loading commit data...
vf_extractplanes.c Loading commit data...
vf_fade.c Loading commit data...
vf_field.c Loading commit data...
vf_fieldmatch.c Loading commit data...
vf_fieldorder.c Loading commit data...
vf_format.c Loading commit data...
vf_fps.c Loading commit data...
vf_framepack.c Loading commit data...
vf_framestep.c Loading commit data...
vf_frei0r.c Loading commit data...
vf_geq.c Loading commit data...
vf_gradfun.c Loading commit data...
vf_hflip.c Loading commit data...
vf_histeq.c Loading commit data...
vf_histogram.c Loading commit data...
vf_hqdn3d.c Loading commit data...
vf_hqdn3d.h Loading commit data...
vf_hqx.c Loading commit data...
vf_hue.c Loading commit data...
vf_idet.c Loading commit data...
vf_idet.h Loading commit data...
vf_il.c Loading commit data...
vf_interlace.c Loading commit data...
vf_kerndeint.c Loading commit data...
vf_lenscorrection.c Loading commit data...
vf_libopencv.c Loading commit data...
vf_lut.c Loading commit data...
vf_lut3d.c Loading commit data...
vf_mcdeint.c Loading commit data...
vf_mergeplanes.c Loading commit data...
vf_mp.c Loading commit data...
vf_mpdecimate.c Loading commit data...
vf_noise.c Loading commit data...
vf_null.c Loading commit data...
vf_overlay.c Loading commit data...
vf_owdenoise.c Loading commit data...
vf_pad.c Loading commit data...
vf_perspective.c Loading commit data...
vf_phase.c Loading commit data...
vf_pixdesctest.c Loading commit data...
vf_pp.c Loading commit data...
vf_psnr.c Loading commit data...
vf_pullup.c Loading commit data...
vf_pullup.h Loading commit data...
vf_removelogo.c Loading commit data...
vf_rotate.c Loading commit data...
vf_sab.c Loading commit data...
vf_scale.c Loading commit data...
vf_separatefields.c Loading commit data...
vf_setfield.c Loading commit data...
vf_showinfo.c Loading commit data...
vf_shuffleplanes.c Loading commit data...
vf_signalstats.c Loading commit data...
vf_smartblur.c Loading commit data...
vf_spp.c Loading commit data...
vf_spp.h Loading commit data...
vf_stereo3d.c Loading commit data...
vf_subtitles.c Loading commit data...
vf_super2xsai.c Loading commit data...
vf_swapuv.c Loading commit data...
vf_telecine.c Loading commit data...
vf_thumbnail.c Loading commit data...
vf_tile.c Loading commit data...
vf_tinterlace.c Loading commit data...
vf_transpose.c Loading commit data...
vf_unsharp.c Loading commit data...
vf_vflip.c Loading commit data...
vf_vidstabdetect.c Loading commit data...
vf_vidstabtransform.c Loading commit data...
vf_vignette.c Loading commit data...
vf_w3fdif.c Loading commit data...
vf_yadif.c Loading commit data...
vf_zoompan.c Loading commit data...
video.c Loading commit data...
video.h Loading commit data...
vidstabutils.c Loading commit data...
vidstabutils.h Loading commit data...
vsink_nullsink.c Loading commit data...
vsrc_cellauto.c Loading commit data...
vsrc_life.c Loading commit data...
vsrc_mandelbrot.c Loading commit data...
vsrc_mptestsrc.c Loading commit data...
vsrc_testsrc.c Loading commit data...
yadif.h Loading commit data...