From f511d4a8073d5c4b4cfe981a1220c75a1895063d Mon Sep 17 00:00:00 2001 From: lazymio Date: Fri, 11 Feb 2022 22:19:03 +0100 Subject: [PATCH] Also return error for context read/write --- qemu/target/arm/unicorn_arm.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/qemu/target/arm/unicorn_arm.c b/qemu/target/arm/unicorn_arm.c index 6d6ae322..644ed935 100644 --- a/qemu/target/arm/unicorn_arm.c +++ b/qemu/target/arm/unicorn_arm.c @@ -483,11 +483,15 @@ int arm_context_reg_read(struct uc_context *ctx, unsigned int *regs, { CPUARMState *env = (CPUARMState *)ctx->data; int i; + uc_err err; for (i = 0; i < count; i++) { unsigned int regid = regs[i]; void *value = vals[i]; - reg_read(env, regid, value); + err = reg_read(env, regid, value); + if (err) { + return err; + } } return 0; @@ -504,11 +508,15 @@ int arm_context_reg_write(struct uc_context *ctx, unsigned int *regs, { CPUARMState *env = (CPUARMState *)ctx->data; int i; + uc_err err; for (i = 0; i < count; i++) { unsigned int regid = regs[i]; const void *value = vals[i]; - reg_write(env, regid, value); + err = reg_write(env, regid, value); + if (err) { + return err; + } } return 0;