diff options
author | Markus Armbruster <armbru@redhat.com> | 2022-03-15 15:41:56 +0100 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2022-03-21 15:44:44 +0100 |
commit | b21e2380376c470900fcadf47507f4d5ade75e85 (patch) | |
tree | 7fd41d348f85d6ef66d6f10ca4df241ba0e74f83 /hw/virtio | |
parent | 1366244ab6d0c83bf0f90270e5bb608651a3cc8f (diff) | |
download | qemu-b21e2380376c470900fcadf47507f4d5ade75e85.zip qemu-b21e2380376c470900fcadf47507f4d5ade75e85.tar.gz qemu-b21e2380376c470900fcadf47507f4d5ade75e85.tar.bz2 |
Use g_new() & friends where that makes obvious sense
g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also safer,
for two reasons. One, it catches multiplication overflowing size_t.
Two, it returns T * rather than void *, which lets the compiler catch
more type errors.
This commit only touches allocations with size arguments of the form
sizeof(T).
Patch created mechanically with:
$ spatch --in-place --sp-file scripts/coccinelle/use-g_new-etc.cocci \
--macro-file scripts/cocci-macro-file.h FILES...
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20220315144156.1595462-4-armbru@redhat.com>
Reviewed-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Diffstat (limited to 'hw/virtio')
-rw-r--r-- | hw/virtio/virtio-crypto.c | 2 | ||||
-rw-r--r-- | hw/virtio/virtio-iommu.c | 2 | ||||
-rw-r--r-- | hw/virtio/virtio.c | 5 |
3 files changed, 4 insertions, 5 deletions
diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c index 54f9bbb..dcd80b9 100644 --- a/hw/virtio/virtio-crypto.c +++ b/hw/virtio/virtio-crypto.c @@ -812,7 +812,7 @@ static void virtio_crypto_device_realize(DeviceState *dev, Error **errp) virtio_init(vdev, "virtio-crypto", VIRTIO_ID_CRYPTO, vcrypto->config_size); vcrypto->curr_queues = 1; - vcrypto->vqs = g_malloc0(sizeof(VirtIOCryptoQueue) * vcrypto->max_queues); + vcrypto->vqs = g_new0(VirtIOCryptoQueue, vcrypto->max_queues); for (i = 0; i < vcrypto->max_queues; i++) { vcrypto->vqs[i].dataq = virtio_add_queue(vdev, 1024, virtio_crypto_handle_dataq_bh); diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 239fe97..664cbd9 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -316,7 +316,7 @@ static AddressSpace *virtio_iommu_find_add_as(PCIBus *bus, void *opaque, char *name = g_strdup_printf("%s-%d-%d", TYPE_VIRTIO_IOMMU_MEMORY_REGION, mr_index++, devfn); - sdev = sbus->pbdev[devfn] = g_malloc0(sizeof(IOMMUDevice)); + sdev = sbus->pbdev[devfn] = g_new0(IOMMUDevice, 1); sdev->viommu = s; sdev->bus = bus; diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index 9e8f51d..32b1859 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -2380,8 +2380,7 @@ VirtQueue *virtio_add_queue(VirtIODevice *vdev, int queue_size, vdev->vq[i].vring.num_default = queue_size; vdev->vq[i].vring.align = VIRTIO_PCI_VRING_ALIGN; vdev->vq[i].handle_output = handle_output; - vdev->vq[i].used_elems = g_malloc0(sizeof(VirtQueueElement) * - queue_size); + vdev->vq[i].used_elems = g_new0(VirtQueueElement, queue_size); return &vdev->vq[i]; } @@ -3228,7 +3227,7 @@ void virtio_init(VirtIODevice *vdev, const char *name, qatomic_set(&vdev->isr, 0); vdev->queue_sel = 0; vdev->config_vector = VIRTIO_NO_VECTOR; - vdev->vq = g_malloc0(sizeof(VirtQueue) * VIRTIO_QUEUE_MAX); + vdev->vq = g_new0(VirtQueue, VIRTIO_QUEUE_MAX); vdev->vm_running = runstate_is_running(); vdev->broken = false; for (i = 0; i < VIRTIO_QUEUE_MAX; i++) { |