add fuzz_alpm_extract_keyid

This commit is contained in:
disconnect3d 2023-12-01 19:14:21 +01:00
parent 275fb8997f
commit b89287281d
3 changed files with 40 additions and 1 deletions

View file

@ -423,7 +423,16 @@ executable(
c_args : ['-fsanitize=fuzzer,address', '-ggdb', '-O0', '-fno-omit-frame-pointer', '-DFUZZING_PACMAN'], c_args : ['-fsanitize=fuzzer,address', '-ggdb', '-O0', '-fno-omit-frame-pointer', '-DFUZZING_PACMAN'],
link_args : ['-fsanitize=fuzzer,address', '-ggdb', '-O0', '-fno-omit-frame-pointer'], link_args : ['-fsanitize=fuzzer,address', '-ggdb', '-O0', '-fno-omit-frame-pointer'],
) )
# Note: this target must be built with clang!
executable(
'fuzz_alpm_extract_keyid',
[fuzz_alpm_extract_keyid_sources, pacman_sources],
include_directories : includes,
link_with : [libalpm_a, libcommon],
dependencies : [],
c_args : ['-fsanitize=fuzzer,address', '-ggdb', '-O0', '-fno-omit-frame-pointer', '-DFUZZING_PACMAN'],
link_args : ['-fsanitize=fuzzer,address', '-ggdb', '-O0', '-fno-omit-frame-pointer'],
)
foreach wrapper : script_wrappers foreach wrapper : script_wrappers
cdata = configuration_data() cdata = configuration_data()

View file

@ -0,0 +1,26 @@
#define _XOPEN_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <wchar.h>
/* libalpm */
#include "alpm.h"
#include "alpm_list.h"
#include "handle.h"
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size);
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
if (Size == 0)
return 0;
alpm_handle_t handle; // TODO/FIXME?
const char* filename = "/dev/null"; // TODO/FIXME?
alpm_list_t *keys = NULL;
alpm_extract_keyid(&handle, filename, /* sig */ Data, /* len */ Size, &keys);
return 0;
}

View file

@ -5,3 +5,7 @@ fuzz_wordsplit_sources = files('''
fuzz_string_length_sources = files(''' fuzz_string_length_sources = files('''
fuzz_string_length.c fuzz_string_length.c
'''.split()) '''.split())
fuzz_alpm_extract_keyid_sources = files('''
fuzz_alpm_extract_keyid.c
'''.split())