From: Chen Gang Date: Thu, 1 May 2014 13:28:11 +0000 (+0800) Subject: arch_init: Be sure of only one exit entry with DPRINTF() for ram_load() X-Git-Tag: v2.0.1~45 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=86cfc1044047ae969da74766f436a4bda51db337;p=thirdparty%2Fqemu.git arch_init: Be sure of only one exit entry with DPRINTF() for ram_load() When DPRINTF() has effect, the original author wants to print all ram_load() calling results. So need use 'goto' instead of 'return' within ram_load(), just like other areas have done. Signed-off-by: Chen Gang Signed-off-by: Michael Tokarev (cherry picked from commit 4798fe55c4d539ddf8c7f5befcddfa145b3c6102) Signed-off-by: Michael Roth --- diff --git a/arch_init.c b/arch_init.c index 85c6d6e4017..9aeb2b568c8 100644 --- a/arch_init.c +++ b/arch_init.c @@ -998,7 +998,8 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id) seq_iter++; if (version_id != 4) { - return -EINVAL; + ret = -EINVAL; + goto done; } do { @@ -1053,7 +1054,8 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id) host = host_from_stream_offset(f, addr, flags); if (!host) { - return -EINVAL; + ret = -EINVAL; + goto done; } ch = qemu_get_byte(f); @@ -1063,14 +1065,16 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id) host = host_from_stream_offset(f, addr, flags); if (!host) { - return -EINVAL; + ret = -EINVAL; + goto done; } qemu_get_buffer(f, host, TARGET_PAGE_SIZE); } else if (flags & RAM_SAVE_FLAG_XBZRLE) { void *host = host_from_stream_offset(f, addr, flags); if (!host) { - return -EINVAL; + ret = -EINVAL; + goto done; } if (load_xbzrle(f, addr, host) < 0) {