[libvirt] [PATCHv2] conf: return immediately on error in dhcp host element

Eric Blake eblake at redhat.com
Mon Mar 19 19:49:05 UTC 2012


On 03/19/2012 12:46 PM, Laine Stump wrote:
> If an error was encountered parsing a dhcp host entry mac address or
> name, parsing would continue and log a less descriptive error that
> might make it more difficult to notice the true nature of the problem.
> 
> This patch returns immediately on logging the first error.
> ---
>  src/conf/network_conf.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
> index 0333141..4341f11 100644
> --- a/src/conf/network_conf.c
> +++ b/src/conf/network_conf.c
> @@ -430,13 +430,16 @@ virNetworkDHCPRangeDefParseXML(const char *networkName,
>                                        _("Cannot parse MAC address '%s' in network '%s'"),
>                                        mac, networkName);
>                  VIR_FREE(mac);
> +                return -1;
>              }
>              name = virXMLPropString(cur, "name");
>              if ((name != NULL) && (!c_isalpha(name[0]))) {
>                  virNetworkReportError(VIR_ERR_INTERNAL_ERROR,
>                                        _("Cannot use name address '%s' in network '%s'"),
>                                        name, networkName);
> +                VIR_FREE(mac);
>                  VIR_FREE(name);
> +                return -1;

ACK.  I was debating if it would have been any cleaner to have a
cleanup: label, but then you start having to do major refactoring to
take advantage of it, at which point this patch would no longer be quite
so small.

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120319/8b194ebf/attachment-0001.sig>


More information about the libvir-list mailing list