libseccomp/fix_undefined_behavior_in_scmp_bpf_sim.patch

26 lines
777 B
Diff
Raw Normal View History

From 3292da1d4dafab2d18c7b750fa278bcc8a362d04 Mon Sep 17 00:00:00 2001
From: q66 <q66@chimera-linux.org>
Date: Wed, 20 Dec 2023 04:01:42 +0100
Subject: [PATCH] fix UB-ass UB in scmp_bpf_sim
---
tools/scmp_bpf_sim.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/scmp_bpf_sim.c b/tools/scmp_bpf_sim.c
index a381314..eeaa5bc 100644
--- a/tools/scmp_bpf_sim.c
+++ b/tools/scmp_bpf_sim.c
@@ -182,7 +182,8 @@ static void bpf_execute(const struct bpf_program *prg,
switch (code) {
case BPF_LD+BPF_W+BPF_ABS:
if (k < BPF_SYSCALL_MAX) {
- uint32_t val = *((uint32_t *)&sys_data_b[k]);
+ uint32_t val;
+ memcpy(&val, &sys_data_b[k], sizeof(val));
state.acc = ttoh32(arch, val);
} else
exit_error(ERANGE, ip_c);
--
2.43.0