diff options
Diffstat (limited to 'patches/qemu-for-aflplusplus-casts.patch')
| -rw-r--r-- | patches/qemu-for-aflplusplus-casts.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/patches/qemu-for-aflplusplus-casts.patch b/patches/qemu-for-aflplusplus-casts.patch new file mode 100644 index 0000000..fee864d --- /dev/null +++ b/patches/qemu-for-aflplusplus-casts.patch @@ -0,0 +1,45 @@ +From c490d42fe3db664d03e3c75d7b23243a717d3437 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= <cnx@loang.net> +Date: Mon, 20 Oct 2025 20:08:48 +0900 +Subject: [PATCH] Add explicit casts + +--- + accel/tcg/cpu-exec.c | 4 ++-- + accel/tcg/tcg-runtime.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c +index 2def088a34c6c..e62318fdcb067 100644 +--- a/accel/tcg/cpu-exec.c ++++ b/accel/tcg/cpu-exec.c +@@ -285,7 +285,7 @@ static void restore_memory_snapshot(void) { + + static int use_ijon = 0; + static unsigned char *ijon_map_ptr = dummy; +-static uint64_t *ijon_max_ptr = dummy; ++static uint64_t *ijon_max_ptr = (uint64_t *)dummy; + + /* IJON state tracking globals */ + #if defined(__ANDROID__) || defined(__HAIKU__) || defined(NO_TLS) +@@ -408,7 +408,7 @@ static void parse_ijon_line(const char *line, int line_num) { + + } else { + +- g_var_addr[ijon_hooker_cnt] = ijon_reg_to_addr(fields[2]); ++ g_var_addr[ijon_hooker_cnt] = (target_ulong) ijon_reg_to_addr(fields[2]); + if (g_var_addr[ijon_hooker_cnt] == 0) { + IJON_PARSE_ERROR(line_num, line, "Invalid register name in field 3. Value: '%s'", fields[2]); + } +diff --git a/accel/tcg/tcg-runtime.c b/accel/tcg/tcg-runtime.c +index 04bb709c918d3..fde4d299bb9dd 100644 +--- a/accel/tcg/tcg-runtime.c ++++ b/accel/tcg/tcg-runtime.c +@@ -40,7 +40,7 @@ uint32_t afl_hash_ip(uint64_t); + void HELPER(ijon_func_call)(target_ulong var_addr, target_ulong var_len, target_ulong itype, target_ulong idx) + { + uint64_t buf = 0; +- memcpy(&buf, var_addr, var_len); ++ memcpy(&buf, (const void *)var_addr, var_len); + ijon_dispatch(itype, idx, buf); + fprintf(stderr, "trigger ijon: addr=0x%016" PRIx64 " tag=%s value %ld\n", var_addr, ijon_to_str(itype), buf); + } |
