[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] Stop free'ing 'const char *' strings



On 09/03/2013 09:35 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange redhat com>
> 
> The VIR_FREE() macro will cast away any const-ness. This masked a
> number of places where we passed a 'const char *' string to
> VIR_FREE. Fortunately in all of these cases, the variable was not
> in fact const data, but a heap allocated string. Fix all the
> variable declarations to reflect this.

I already have a patch pending review for a subset of this issue:
https://www.redhat.com/archives/libvir-list/2013-August/msg01474.html

I'm very much a fan of the idea.

> 
> Signed-off-by: Daniel P. Berrange <berrange redhat com>
> ---
>  src/conf/domain_conf.c                 | 30 +++++++++++++++---------------
>  src/conf/netdev_vlan_conf.c            |  4 ++--
>  src/conf/nwfilter_conf.c               |  3 ++-
>  src/node_device/node_device_udev.c     |  2 +-
>  src/nwfilter/nwfilter_gentech_driver.c |  2 +-
>  src/qemu/qemu_command.c                | 33 +++++++++++++++++++--------------
>  src/qemu/qemu_domain.c                 |  2 +-
>  src/qemu/qemu_driver.c                 |  4 ++--
>  src/rpc/virnetsshsession.c             | 34 +++++++++++++++++++++-------------
>  src/storage/storage_backend.c          |  2 +-
>  src/storage/storage_driver.c           |  2 +-
>  src/util/vircommand.c                  |  9 ++++-----
>  src/util/virlog.c                      |  4 ++--
>  tools/virsh-domain.c                   | 19 ++++++++++---------
>  14 files changed, 82 insertions(+), 68 deletions(-)

Where's the actual patch to VIR_FREE to drop the const cast, and let the
compiler enforce things so that we don't reintroduce the problem in the
future?

Other than that (which could be done as a followup patch), I agree with
Michal's ack.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]