[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCHv3 01/20] scsi, pci, qdev, isa-bus, sysbus: don't
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCHv3 01/20] scsi, pci, qdev, isa-bus, sysbus: don't let *_get_fw_dev_path return NULL |
Date: |
Fri, 05 Oct 2012 16:17:38 -0500 |
User-agent: |
Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
Jim Meyering <address@hidden> writes:
> From: Jim Meyering <address@hidden>
>
> Use g_strdup rather than strdup, because the sole caller
> (qdev_get_fw_dev_path_helper) assumes it gets non-NULL, and dereferences
> it. Besides, in that caller, the allocated buffer is already freed with
> g_free, so it's better to allocate with a matching g_strdup.
>
> In one case, (scsi-bus.c) it was trivial, so I replaced an snprintf+
> g_strdup combination with an equivalent g_strdup_printf use.
>
> Signed-off-by: Jim Meyering <address@hidden>
Applied all. Thanks.
Regards,
Anthony Liguori
> ---
> hw/ide/qdev.c | 2 +-
> hw/isa-bus.c | 2 +-
> hw/pci.c | 2 +-
> hw/qdev.c | 2 +-
> hw/scsi-bus.c | 8 ++------
> hw/sysbus.c | 2 +-
> 6 files changed, 7 insertions(+), 11 deletions(-)
>
> diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c
> index 5ea9b8f..f2e4ea4 100644
> --- a/hw/ide/qdev.c
> +++ b/hw/ide/qdev.c
> @@ -60,7 +60,7 @@ static char *idebus_get_fw_dev_path(DeviceState *dev)
> snprintf(path, sizeof(path), "address@hidden", qdev_fw_name(dev),
> ((IDEBus*)dev->parent_bus)->bus_id);
>
> - return strdup(path);
> + return g_strdup(path);
> }
>
> static int ide_qdev_init(DeviceState *qdev)
> diff --git a/hw/isa-bus.c b/hw/isa-bus.c
> index f9b2373..47c93d3 100644
> --- a/hw/isa-bus.c
> +++ b/hw/isa-bus.c
> @@ -236,7 +236,7 @@ static char *isabus_get_fw_dev_path(DeviceState *dev)
> snprintf(path + off, sizeof(path) - off, "@%04x", d->ioport_id);
> }
>
> - return strdup(path);
> + return g_strdup(path);
> }
>
> MemoryRegion *isa_address_space(ISADevice *dev)
> diff --git a/hw/pci.c b/hw/pci.c
> index f855cf3..de4b448 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -1962,7 +1962,7 @@ static char *pcibus_get_fw_dev_path(DeviceState *dev)
> PCI_SLOT(d->devfn));
> if (PCI_FUNC(d->devfn))
> snprintf(path + off, sizeof(path) + off, ",%x", PCI_FUNC(d->devfn));
> - return strdup(path);
> + return g_strdup(path);
> }
>
> static char *pcibus_get_dev_path(DeviceState *dev)
> diff --git a/hw/qdev.c b/hw/qdev.c
> index b5a52ac..3b5ce33 100644
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -520,7 +520,7 @@ char* qdev_get_fw_dev_path(DeviceState *dev)
>
> path[l-1] = '\0';
>
> - return strdup(path);
> + return g_strdup(path);
> }
>
> char *qdev_get_dev_path(DeviceState *dev)
> diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c
> index 058d3b2..dfb2631 100644
> --- a/hw/scsi-bus.c
> +++ b/hw/scsi-bus.c
> @@ -1723,12 +1723,8 @@ static char *scsibus_get_dev_path(DeviceState *dev)
> static char *scsibus_get_fw_dev_path(DeviceState *dev)
> {
> SCSIDevice *d = SCSI_DEVICE(dev);
> - char path[100];
> -
> - snprintf(path, sizeof(path), "address@hidden/address@hidden,%x",
> d->channel,
> - qdev_fw_name(dev), d->id, d->lun);
> -
> - return strdup(path);
> + return g_strdup_printf("address@hidden/address@hidden,%x", d->channel,
> + qdev_fw_name(dev), d->id, d->lun);
> }
>
> SCSIDevice *scsi_device_find(SCSIBus *bus, int channel, int id, int lun)
> diff --git a/hw/sysbus.c b/hw/sysbus.c
> index 9d8b1ea..c173840 100644
> --- a/hw/sysbus.c
> +++ b/hw/sysbus.c
> @@ -211,7 +211,7 @@ static char *sysbus_get_fw_dev_path(DeviceState *dev)
> snprintf(path + off, sizeof(path) - off, "@i%04x", s->pio[0]);
> }
>
> - return strdup(path);
> + return g_strdup(path);
> }
>
> void sysbus_add_memory(SysBusDevice *dev, target_phys_addr_t addr,
> --
> 1.8.0.rc0.18.gf84667d
- [Qemu-devel] [PATCHv3 00/20] strncpy: best avoided, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 01/20] scsi, pci, qdev, isa-bus, sysbus: don't let *_get_fw_dev_path return NULL, Jim Meyering, 2012/10/04
- Re: [Qemu-devel] [PATCHv3 01/20] scsi, pci, qdev, isa-bus, sysbus: don't let *_get_fw_dev_path return NULL,
Anthony Liguori <=
- [Qemu-devel] [PATCHv3 02/20] sparc: use g_strdup in place of unchecked strdup, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 03/20] block: avoid buffer overrun by using pstrcpy, not strncpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 05/20] vmdk: relative_path: use pstrcpy in place of strncpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 06/20] hw/9pfs: avoid buffer overrun, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 04/20] sheepdog: avoid a few buffer overruns, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 07/20] lm32: avoid buffer overrun, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 10/20] linux-user: remove two unchecked uses of strdup, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 08/20] os-posix: avoid buffer overrun, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 09/20] ppc: avoid buffer overrun: use pstrcpy, not strncpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 12/20] bt: replace fragile snprintf use and unwarranted strncpy, Jim Meyering, 2012/10/04