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 <takasi-y@ops.dti.ne.jp>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6792
c046a42c-6fe2-441c-8c8c-
71466251a162
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;
}