From 7d515c1d731827fc8e2eb5cbf0043ffb5071c8bb Mon Sep 17 00:00:00 2001 From: blueswir1 Date: Mon, 9 Mar 2009 18:08:56 +0000 Subject: fread_targphys(): Do not cut off the tail. loader.c:fread_targphys() read file by 4096 byte chunks and store them to memory. But did not store the last chunk if its size was not 4096. Signed-off-by: Takashi YOSHII git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6792 c046a42c-6fe2-441c-8c8c-71466251a162 --- loader.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/loader.c b/loader.c index 71b9ba785..55625cf5b 100644 --- a/loader.c +++ b/loader.c @@ -90,11 +90,12 @@ int fread_targphys(target_phys_addr_t dst_addr, size_t nbytes, FILE *f) while (nbytes) { want = nbytes > sizeof(buf) ? sizeof(buf) : nbytes; did = fread(buf, 1, want, f); - if (did != want) break; cpu_physical_memory_write_rom(dst_addr, buf, did); dst_addr += did; nbytes -= did; + if (did != want) + break; } return dst_addr - dst_begin; } -- cgit v1.2.3