]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-var-expand: Add fuzz-var-expand-import
authorAki Tuomi <aki.tuomi@open-xchange.com>
Sun, 22 Mar 2026 20:06:34 +0000 (22:06 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Mon, 23 Mar 2026 13:40:28 +0000 (15:40 +0200)
src/lib-var-expand/Makefile.am
src/lib-var-expand/fuzz-var-expand-import.c [new file with mode: 0644]

index 6a1b4cd2ff27443d9bcedd4c60baad7393c70cc2..e9d8195ed39f3898e3657ae163941e71b80c6c99 100644 (file)
@@ -70,7 +70,7 @@ test_var_expand_SOURCE = test-var-expand.c
 test_var_expand_LDADD = $(test_libs) $(LIBDOVECOT_TEST_LIBS)
 
 if USE_FUZZER
-fuzz_programs = fuzz-var-expand
+fuzz_programs = fuzz-var-expand fuzz-var-expand-import
 
 nodist_EXTRA_fuzz_var_expand_SOURCES = force-cxx-linking.cxx
 
@@ -80,6 +80,12 @@ fuzz_var_expand_SOURCES = fuzz-var-expand.c
 fuzz_var_expand_LDADD = $(test_libs) $(LIBDOVECOT_TEST_LIBS)
 fuzz_var_expand_DEPENDENCIES = libvar_expand.la
 
+fuzz_var_expand_import_CPPFLAGS = $(FUZZER_CPPFLAGS)
+fuzz_var_expand_import_LDFLAGS = $(FUZZER_LDFLAGS)
+fuzz_var_expand_import_SOURCES = fuzz-var-expand-import.c
+fuzz_var_expand_import_LDADD = $(test_libs) $(LIBDOVECOT_TEST_LIBS)
+fuzz_var_expand_import_DEPENDENCIES = libvar_expand.la
+
 noinst_PROGRAMS += $(fuzz_programs)
 
 endif
diff --git a/src/lib-var-expand/fuzz-var-expand-import.c b/src/lib-var-expand/fuzz-var-expand-import.c
new file mode 100644 (file)
index 0000000..2b0104b
--- /dev/null
@@ -0,0 +1,15 @@
+/* Copyright (c) 2025 Dovecot authors, see the included COPYING file */
+
+#include "lib.h"
+#include "fuzzer.h"
+#include "var-expand.h"
+
+FUZZ_BEGIN_DATA(const void *input, size_t len)
+{
+       struct var_expand_program *program = NULL;
+       const char *error ATTR_UNUSED = NULL;
+
+       if (var_expand_program_import_sized(input, len, &program, &error) == 0)
+               var_expand_program_free(&program);
+}
+FUZZ_END