]> git.proxmox.com Git - qemu.git/commitdiff
virtio-net: use qemu_get_buffer() in a temp buffer
authorJuan Quintela <quintela@redhat.com>
Wed, 29 Aug 2012 17:03:09 +0000 (19:03 +0200)
committerJuan Quintela <quintela@redhat.com>
Wed, 17 Oct 2012 16:34:59 +0000 (18:34 +0200)
qemu_fseek() is known to be wrong.  Would be removed on the next
commit.  This code should never been used (value has been
MAC_TABLE_ENTRIES since 2009).

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
hw/virtio-net.c

index 8342391d9040f3b5e564076443da713f17311ced..50ba728c021f4c403b5bd15e14fc7c35689bed46 100644 (file)
@@ -921,7 +921,9 @@ static int virtio_net_load(QEMUFile *f, void *opaque, int version_id)
             qemu_get_buffer(f, n->mac_table.macs,
                             n->mac_table.in_use * ETH_ALEN);
         } else if (n->mac_table.in_use) {
-            qemu_fseek(f, n->mac_table.in_use * ETH_ALEN, SEEK_CUR);
+            uint8_t *buf = g_malloc0(n->mac_table.in_use);
+            qemu_get_buffer(f, buf, n->mac_table.in_use * ETH_ALEN);
+            g_free(buf);
             n->mac_table.multi_overflow = n->mac_table.uni_overflow = 1;
             n->mac_table.in_use = 0;
         }