Make sure we set the buffer to something in the softusb_read_{dmem,pmem}
error paths, since the caller will use the buffer unconditionally.
(Newer gcc is smart enough to spot this and complain about 'may be
used uninitialized'.)

Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
---
This needs to be applied before the 'drop sysbus_add_mem' patchset to
fix a compilation failure with newer gcc. That patchset should apply
after this without needing rebase, I think.

 hw/milkymist-softusb.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/milkymist-softusb.c b/hw/milkymist-softusb.c
index d911686..9f83209 100644
--- a/hw/milkymist-softusb.c
+++ b/hw/milkymist-softusb.c
@@ -131,6 +131,7 @@ static inline void softusb_read_dmem(MilkymistSoftUsbState 
*s,
     if (offset + len >= s->dmem_size) {
         error_report("milkymist_softusb: read dmem out of bounds "
                 "at offset 0x%x, len %d", offset, len);
+        memset(buf, 0, len);
         return;
     }
 
@@ -155,6 +156,7 @@ static inline void softusb_read_pmem(MilkymistSoftUsbState 
*s,
     if (offset + len >= s->pmem_size) {
         error_report("milkymist_softusb: read pmem out of bounds "
                 "at offset 0x%x, len %d", offset, len);
+        memset(buf, 0, len);
         return;
     }
 
-- 
1.7.9.5


Reply via email to