summary refs log tree commit diff stats
path: root/contrib/plugins/execlog.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2024-04-02 21:24:52 -1000
committerRichard Henderson <richard.henderson@linaro.org>2024-05-15 08:55:18 +0200
commit4abc892362f8282450f18c4e45c5b0534461d01e (patch)
tree7f0f046c1ec6f7e04e975f134645cb2fe62f626d /contrib/plugins/execlog.c
parentbf4bb074b72a7dc6c9ee5379a1d6b693dcd0a5a6 (diff)
downloadfocaccia-qemu-4abc892362f8282450f18c4e45c5b0534461d01e.tar.gz
focaccia-qemu-4abc892362f8282450f18c4e45c5b0534461d01e.zip
plugins: Copy memory in qemu_plugin_insn_data
Instead of returning a host pointer, copy the data into
storage provided by the caller.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'contrib/plugins/execlog.c')
-rw-r--r--contrib/plugins/execlog.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/contrib/plugins/execlog.c b/contrib/plugins/execlog.c
index fab18113d4..371db97eb1 100644
--- a/contrib/plugins/execlog.c
+++ b/contrib/plugins/execlog.c
@@ -258,8 +258,9 @@ static void vcpu_tb_trans(qemu_plugin_id_t id, struct qemu_plugin_tb *tb)
                                                        NULL);
             }
         } else {
-            uint32_t insn_opcode;
-            insn_opcode = *((uint32_t *)qemu_plugin_insn_data(insn));
+            uint32_t insn_opcode = 0;
+            qemu_plugin_insn_data(insn, &insn_opcode, sizeof(insn_opcode));
+
             char *output = g_strdup_printf("0x%"PRIx64", 0x%"PRIx32", \"%s\"",
                                            insn_vaddr, insn_opcode, insn_disas);