From 67a8e57c784ccbce4989c39dd44c70ae7f5aeda4 Mon Sep 17 00:00:00 2001 From: jianchunfu Date: Thu, 4 Aug 2022 15:37:47 +0800 Subject: [PATCH 5/9] target/ppc: add error report when fopen fails in kvmppc_read_int_dt() Use an Error pointer to report the error back to the caller. While we're at it, return '0' instead of '-1' on error since the function is supposed to return an uint64_t. Signed-off-by: jianchunfu --- target/ppc/kvm.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c index dc93b99189..63382256c3 100644 --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -1895,7 +1895,7 @@ static int kvmppc_find_cpu_dt(char *buf, int buf_len) return 0; } -static uint64_t kvmppc_read_int_dt(const char *filename) +static uint64_t kvmppc_read_int_dt(const char *filename, Error **errp) { union { uint32_t v32; @@ -1906,7 +1906,8 @@ static uint64_t kvmppc_read_int_dt(const char *filename) f = fopen(filename, "rb"); if (!f) { - return -1; + error_setg_errno(errp, errno, "error opening %s", filename); + return 0; } len = fread(&u, 1, sizeof(u), f); @@ -1937,7 +1938,7 @@ static uint64_t kvmppc_read_int_cpu_dt(const char *propname) } tmp = g_strdup_printf("%s/%s", buf, propname); - val = kvmppc_read_int_dt(tmp); + val = kvmppc_read_int_dt(tmp, NULL); g_free(tmp); return val; -- 2.27.0