variable's range is not respected when created through command-line
This ticket applies to several different places in the codebase, but the easiest way to reproduce it is to run something as the below:
vlc-trunk drop.avi --croppadd-croptop=-100 '--sout=#transcode{vcodec=mp4v,vfilter=croppadd{}}:display' vlc://quit -q -Idummy
Please mind the usage of --cropadd-croptop=-100
, which of course does not make sense (but we shouldn't crash in either case).
EXPECTED BEHAVIOR
Given that modules/video_filter/croppadd.c
adds valid ranges to croppadd-croptop
, and other related variables; the module should only receive values within the specified range.
ACTUAL BEHAVIOR
ERROR: AddressSanitizer: SEGV on unknown address 0x632fffffa400 (pc 0x7ff5db202ea4 bp 0x7ff5c55946b0 sp 0x7ff5c5593e28 T9)
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x7ff5db202ea3 in __memmove_sse2_unaligned_erms (/usr/lib/libc.so.6+0x83ea3)
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x7ff5dc821926 in __interceptor_memcpy /build/gcc/src/gcc/libsanitizer/asan/asan_interceptors.cc:436
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x7ff5ad8b19d8 in memcpy /usr/include/bits/string3.h:53
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x7ff5ad8b19d8 in Filter /home/refp/work/videolan/vlc/git/modules/video_filter/croppadd.c:293
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x7ff5dc26a68c in FilterChainVideoFilter /home/refp/work/videolan/vlc/git/src/misc/filter_chain.c:374
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x7ff5dc26ba9c in filter_chain_VideoFilter /home/refp/work/videolan/vlc/git/src/misc/filter_chain.c:392
[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x7ff5c2352bea in transcode_video_process /home/refp/work/videolan/vlc/git/modules/stream_out/transcode/video.c:830
[#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x7ff5c2346381 in Send /home/refp/work/videolan/vlc/git/modules/stream_out/transcode/transcode.c:660
[#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x7ff5dc28613a in sout_InputSendBuffer /home/refp/work/videolan/vlc/git/src/stream_output/stream_output.c:251
[#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0x7ff5dc1b03a7 in DecoderPlaySout /home/refp/work/videolan/vlc/git/src/input/decoder.c:782
[#10](https://code.videolan.org/videolan/vlc/-/issues/10) 0x7ff5dc1b03a7 in DecoderProcessSout /home/refp/work/videolan/vlc/git/src/input/decoder.c:831
[#11](https://code.videolan.org/videolan/vlc/-/issues/11) 0x7ff5dc1b03a7 in DecoderProcess /home/refp/work/videolan/vlc/git/src/input/decoder.c:1427
[#12](https://code.videolan.org/videolan/vlc/-/issues/12) 0x7ff5dc1b03a7 in DecoderThread /home/refp/work/videolan/vlc/git/src/input/decoder.c:1584
[#13](https://code.videolan.org/videolan/vlc/-/issues/13) 0x7ff5db524453 in start_thread (/usr/lib/libpthread.so.0+0x7453)
[#14](https://code.videolan.org/videolan/vlc/-/issues/14) 0x7ff5db2677de in __GI___clone (/usr/lib/libc.so.6+0xe87de)