summaryrefslogtreecommitdiff
path: root/fuzz-pe-relocate.c
diff options
context:
space:
mode:
authorSteve McIntyre <steve@einval.com>2024-02-17 17:35:37 +0000
committerSteve McIntyre <steve@einval.com>2024-05-03 14:36:51 +0100
commitf898e219b4b06cf2bb7af18b5cc7a00754d3d274 (patch)
treec535b3ff1b13388dbaa7072c7f5ec78f5d73ee53 /fuzz-pe-relocate.c
parent3cf4042d82ef314f19e9f7bd4f86c4b59efd8233 (diff)
downloadefi-boot-shim-f898e219b4b06cf2bb7af18b5cc7a00754d3d274.tar.gz
efi-boot-shim-f898e219b4b06cf2bb7af18b5cc7a00754d3d274.zip
New upstream version 15.8
Diffstat (limited to 'fuzz-pe-relocate.c')
-rw-r--r--fuzz-pe-relocate.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/fuzz-pe-relocate.c b/fuzz-pe-relocate.c
new file mode 100644
index 00000000..1f62234d
--- /dev/null
+++ b/fuzz-pe-relocate.c
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: BSD-2-Clause-Patent
+/*
+ * fuzz-pe-relocate.c - fuzz our PE relocation code.
+ * Copyright Peter Jones <pjones@redhat.com>
+ */
+
+#ifndef SHIM_UNIT_TEST
+#define SHIM_UNIT_TEST
+#endif
+#include "shim.h"
+
+UINT8 mok_policy = 0;
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+ uint8_t *data_copy;
+ EFI_STATUS status = 0;
+ size_t n = 0;
+ PE_COFF_LOADER_IMAGE_CONTEXT context = { 0, };
+
+ if (size < 1)
+ return 0;
+
+ data_copy = malloc(size+1);
+ if (!data_copy)
+ return -1;
+
+ memcpy(data_copy, data, size);
+ data_copy[size] = 0;
+
+ status = read_header(data_copy, size, &context);
+
+ free(data_copy);
+
+ return 0;
+}
+
+// vim:fenc=utf-8:tw=75:noet