• Marios Titas's avatar
    avfilter/src_movie: fix how we check for overflows with seek_point · c1f9734f
    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>
    c1f9734f
Name
Last commit
Last update
..
x86 Loading commit data...
Makefile Loading commit data...
aeval.c Loading commit data...
af_adelay.c Loading commit data...
af_aecho.c Loading commit data...
af_aemphasis.c Loading commit data...
af_afade.c Loading commit data...
af_afftfilt.c Loading commit data...
af_aformat.c Loading commit data...
af_agate.c Loading commit data...
af_alimiter.c Loading commit data...
af_amerge.c Loading commit data...
af_amix.c Loading commit data...
af_anequalizer.c Loading commit data...
af_anull.c Loading commit data...
af_apad.c Loading commit data...
af_aphaser.c Loading commit data...
af_apulsator.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_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_chorus.c Loading commit data...
af_compand.c Loading commit data...
af_compensationdelay.c Loading commit data...
af_dcshift.c Loading commit data...
af_dynaudnorm.c Loading commit data...
af_earwax.c Loading commit data...
af_extrastereo.c Loading commit data...
af_firequalizer.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_rubberband.c Loading commit data...
af_sidechaincompress.c Loading commit data...
af_silencedetect.c Loading commit data...
af_silenceremove.c Loading commit data...
af_sofalizer.c Loading commit data...
af_stereotools.c Loading commit data...
af_stereowiden.c Loading commit data...
af_tremolo.c Loading commit data...
af_vibrato.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_anoisesrc.c 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...
avf_ahistogram.c Loading commit data...
avf_aphasemeter.c Loading commit data...
avf_avectorscope.c Loading commit data...
avf_concat.c Loading commit data...
avf_showcqt.c Loading commit data...
avf_showcqt.h Loading commit data...
avf_showfreqs.c Loading commit data...
avf_showspectrum.c Loading commit data...
avf_showvolume.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...
blend.h 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...
bwdif.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_bench.c Loading commit data...
f_drawgraph.c Loading commit data...
f_ebur128.c Loading commit data...
f_interleave.c Loading commit data...
f_loop.c Loading commit data...
f_metadata.c Loading commit data...
f_perms.c Loading commit data...
f_realtime.c Loading commit data...
f_reverse.c Loading commit data...
f_select.c Loading commit data...
f_sendcmd.c Loading commit data...
f_streamselect.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...
framepool.c Loading commit data...
framepool.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...
hermite.h Loading commit data...
interlace.h 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...
maskedmerge.h Loading commit data...
opencl_allkernels.c Loading commit data...
opencl_allkernels.h Loading commit data...
psnr.h Loading commit data...
pthread.c Loading commit data...
removegrain.h Loading commit data...
setpts.c Loading commit data...
settb.c Loading commit data...
split.c Loading commit data...
src_movie.c Loading commit data...
ssim.h Loading commit data...
stereo3d.h Loading commit data...
thread.h Loading commit data...
tinterlace.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...
vaf_spectrumsynth.c Loading commit data...
version.h Loading commit data...
vf_alphamerge.c Loading commit data...
vf_aspect.c Loading commit data...
vf_atadenoise.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_bwdif.c Loading commit data...
vf_chromakey.c Loading commit data...
vf_ciescope.c Loading commit data...
vf_codecview.c Loading commit data...
vf_colorbalance.c Loading commit data...
vf_colorchannelmixer.c Loading commit data...
vf_colorkey.c Loading commit data...
vf_colorlevels.c Loading commit data...
vf_colormatrix.c Loading commit data...
vf_convolution.c Loading commit data...
vf_copy.c Loading commit data...
vf_coreimage.m Loading commit data...
vf_cover_rect.c Loading commit data...
vf_crop.c Loading commit data...
vf_cropdetect.c Loading commit data...
vf_curves.c Loading commit data...
vf_datascope.c Loading commit data...
vf_dctdnoiz.c Loading commit data...
vf_deband.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_detelecine.c Loading commit data...
vf_displace.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_eq.c Loading commit data...
vf_eq.h Loading commit data...
vf_extractplanes.c Loading commit data...
vf_fade.c Loading commit data...
vf_fftfilt.c Loading commit data...
vf_field.c Loading commit data...
vf_fieldhint.c Loading commit data...
vf_fieldmatch.c Loading commit data...
vf_fieldorder.c Loading commit data...
vf_find_rect.c Loading commit data...
vf_format.c Loading commit data...
vf_fps.c Loading commit data...
vf_framepack.c Loading commit data...
vf_framerate.c Loading commit data...
vf_framestep.c Loading commit data...
vf_frei0r.c Loading commit data...
vf_fspp.c Loading commit data...
vf_fspp.h 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_hwupload_cuda.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_maskedmerge.c Loading commit data...
vf_mcdeint.c Loading commit data...
vf_mergeplanes.c Loading commit data...
vf_mpdecimate.c Loading commit data...
vf_neighbor.c Loading commit data...
vf_nnedi.c Loading commit data...
vf_noise.c Loading commit data...
vf_noise.h Loading commit data...
vf_null.c Loading commit data...
vf_ocr.c Loading commit data...
vf_overlay.c Loading commit data...
vf_owdenoise.c Loading commit data...
vf_pad.c Loading commit data...
vf_palettegen.c Loading commit data...
vf_paletteuse.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_pp7.c Loading commit data...
vf_pp7.h Loading commit data...
vf_psnr.c Loading commit data...
vf_pullup.c Loading commit data...
vf_pullup.h Loading commit data...
vf_qp.c Loading commit data...
vf_random.c Loading commit data...
vf_removegrain.c Loading commit data...
vf_removelogo.c Loading commit data...
vf_repeatfields.c Loading commit data...
vf_rotate.c Loading commit data...
vf_sab.c Loading commit data...
vf_scale.c Loading commit data...
vf_selectivecolor.c Loading commit data...
vf_separatefields.c Loading commit data...
vf_setfield.c Loading commit data...
vf_showinfo.c Loading commit data...
vf_showpalette.c Loading commit data...
vf_shuffleframes.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_ssim.c Loading commit data...
vf_stack.c Loading commit data...
vf_stereo3d.c Loading commit data...
vf_subtitles.c Loading commit data...
vf_super2xsai.c Loading commit data...
vf_swaprect.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_uspp.c Loading commit data...
vf_vectorscope.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_waveform.c Loading commit data...
vf_xbr.c Loading commit data...
vf_yadif.c Loading commit data...
vf_zoompan.c Loading commit data...
vf_zscale.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...
w3fdif.h Loading commit data...
window_func.c Loading commit data...
window_func.h Loading commit data...
yadif.h Loading commit data...