On Mon, May 03, 2021 at 04:04:28PM +0530, Vedaa wrote:
> Hi,
> 
> I am applying for GSoC '21. I have attempted to connect fate-integer to the
>  fuzzer by using a header file with the test function to ensure code
>  reusability. However, the linker is unable to link the function definiton.
>  What changes should I make to properly link the function?

The fate tests are seperate excutables and not part of the libraraies
so linking to the libraraies will not include the code from the fate 
tests
you can either move the code itself to a static inline function in a header
and include that by both the fate test and the fuzzer. Or you can change the
excutabel of the test so it takes the parameters via the command line and
then execute the excutable with fuzzed parameters
There are other possibilities too, these are just the 2 most obvious

more comments below

[...]
> +++ b/Makefile
> @@ -62,6 +62,8 @@ tools/target_dem_fuzzer$(EXESUF): tools/target_dem_fuzzer.o 
> $(FF_DEP_LIBS)
>  tools/target_io_dem_fuzzer$(EXESUF): tools/target_io_dem_fuzzer.o 
> $(FF_DEP_LIBS)
>       $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) 
> $(LIBFUZZER_PATH)
>  
> +target_int_fuzzer$(EXESUF): tools/target_int_fuzzer.o $(FF_DEP_LIBS)

tools/target_int_fuzzer$ ...


[...]
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
> USA
> + */
> +
> +#include <libavutil/tests/integer.h>
> +
> +int LLVMFuzzerTestOneInput( const uint8_t *data, size_t size ) {

missing prototype, see the othert fuzzers


> +    if (size < 2 * sizeof(int64_t))
> +        return 1;
> +
> +    int64_t a,b;

> +    memcpy(&a,data,sizeof(int64_t));
> +    memcpy(&b,&(data[sizeof(int64_t)]),sizeof(int64_t));

AV_RB64() otherwise fuzzer samples would behave different on big endian

thx

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

In a rich man's house there is no place to spit but his face.
-- Diogenes of Sinope

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to