Am 10.11.2014 um 10:14 hat Ming Lei geschrieben: > On Mon, Nov 10, 2014 at 4:24 PM, Markus Armbruster <arm...@redhat.com> wrote: > > Ming Lei <ming....@canonical.com> writes: > > > >> The size of each element should be sizeof(VirtIOSCSIVring *). > >> > >> Signed-off-by: Ming Lei <ming....@canonical.com> > >> --- > >> hw/scsi/virtio-scsi-dataplane.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/hw/scsi/virtio-scsi-dataplane.c > >> b/hw/scsi/virtio-scsi-dataplane.c > >> index 855439e..8a7cd9f 100644 > >> --- a/hw/scsi/virtio-scsi-dataplane.c > >> +++ b/hw/scsi/virtio-scsi-dataplane.c > >> @@ -239,7 +239,7 @@ void virtio_scsi_dataplane_start(VirtIOSCSI *s) > >> if (!s->event_vring) { > >> goto fail_vrings; > >> } > >> - s->cmd_vrings = g_malloc0(sizeof(VirtIOSCSIVring) * > >> vs->conf.num_queues); > >> + s->cmd_vrings = g_malloc0(sizeof(VirtIOSCSIVring *) * > >> vs->conf.num_queues); > >> for (i = 0; i < vs->conf.num_queues; i++) { > >> s->cmd_vrings[i] = > >> virtio_scsi_vring_init(s, vs->cmd_vqs[i], > > > > Please use something like > > > > s->cmd_vrings = g_new0(VirtIOSCSIVring *, vs->conf.num_queues); > > > > This one crept in since I cleaned up g_malloc() use globally: > > Your idea is good, but this one is a fix patch, and I > think the g_new() conversion should be done in another > patch since the two changes are different logically.
It's not really unrelated: g_new() would have caught the incorrect type and made it a compiler error. So changing to g_new() in a patch fixing such a bug is actually a logical conclusion and makes it more obvious that your patch is correct. Kevin