[FFmpeg-devel] [PATCHv5] fate/integer.c: Connect test to fuzzer

Michael Niedermayer michael at niedermayer.cc
Wed May 19 00:38:25 EEST 2021


On Mon, May 17, 2021 at 11:27:49PM +0530, Vedaa wrote:
> Hi,
> I have removed the tests for overflow & reduced the number of bits read
> to 32-bit to avoid overflow.
> 
> Best regards
> ---
>  Makefile                  |  2 ++
>  libavutil/tests/integer.c | 21 ++----------------
>  libavutil/tests/integer.h | 45 +++++++++++++++++++++++++++++++++++++++
>  tools/Makefile            |  3 +++
>  tools/target_int_fuzzer.c | 35 ++++++++++++++++++++++++++++++
>  5 files changed, 87 insertions(+), 19 deletions(-)
>  create mode 100644 libavutil/tests/integer.h
>  create mode 100644 tools/target_int_fuzzer.c

The return code is wrong

target_int_fuzzer: ../FuzzerLoop.cpp:499: void fuzzer::Fuzzer::ExecuteCallback(const uint8_t *, size_t): Assertion `Res == 0' failed.

after fixing the return code:

#0	READ units: 1
#2	INITED cov: 2 ft: 2 corp: 1/1b exec/s: 0 rss: 27Mb
libavutil/integer.c:163:19: runtime error: left shift of negative value -1
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior libavutil/integer.c:163:19 in 
libavutil/integer.c:104:53: runtime error: left shift of 65535 by 16 places cannot be represented in type 'int'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior libavutil/integer.c:104:53 in 
#4	NEW    cov: 85 ft: 85 corp: 2/93b exec/s: 0 rss: 28Mb L: 92/92 MS: 2 ChangeBit-InsertRepeatedBytes-
Assertion av_log2_i(ai) == (31 - __builtin_clz((a)|1)) failed at ./libavutil/tests/integer.h:42


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20210518/9ff65c63/attachment.sig>


More information about the ffmpeg-devel mailing list