Skip to contentSkip to conversation

thinko fix: move memset to after mmap failure check

PATCH Applied Michael S. Tsirkin 2 participants 2 messages Apr 26, 2009 KVM

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 thinko fix: move memset to after mmap failure check

By the time we've done a memset, it's too late to check the pointer for MAP_FAILED value. Let's compare to MAP_FAILED first.

---

Noticed this when reading the code.
Makes sense, does it not?

 hw/device-assignment.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
hw/device-assignment.c +1 -1
index 1f0a1a7..0a5f850 100644
@@ -1087,12 +1087,12 @@ static int assigned_dev_register_msix_mmio(AssignedDevice *dev)
     dev->msix_table_page = mmap(NULL, 0x1000,
                                 PROT_READ|PROT_WRITE,
                                 MAP_ANONYMOUS|MAP_PRIVATE, 0, 0);
-    memset(dev->msix_table_page, 0, 0x1000);
     if (dev->msix_table_page == MAP_FAILED) {
         fprintf(stderr, "fail allocate msix_table_page! %s\n",
                 strerror(errno));
         return -EFAULT;
     }
+    memset(dev->msix_table_page, 0, 0x1000);
     dev->mmio_index = cpu_register_io_memory(0,
                         msix_mmio_read, msix_mmio_write, dev);
     return 0;
Signature · 1 line
1.6.0.6
Applied
#1 lore raw
Quoted 5 lines · Michael S. Tsirkin

By the time we've done a memset, it's too late to check the pointer for MAP_FAILED value. Let's compare to MAP_FAILED first.

Applied, thanks.

Signature · 1 line
error compiling committee.c: too many arguments to function