[libvirt] [PATCH 2/2] Forbid new-line char in name of new networks
Michal Privoznik
mprivozn at redhat.com
Tue Oct 18 01:47:13 UTC 2016
On 14.10.2016 04:53, Sławek Kapłoński wrote:
> New line character in name of network is now forbidden because it
> mess virsh output and can be confusing for users.
> Validation of name is done in network driver, after parsing XML to avoid
> problems with dissappeared network which was already created with
> new-line char in name.
>
> Closes-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=818064
> ---
> src/network/bridge_driver.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
> index b2af482..df85884 100644
> --- a/src/network/bridge_driver.c
> +++ b/src/network/bridge_driver.c
> @@ -2973,6 +2973,12 @@ networkValidate(virNetworkDriverStatePtr driver,
> bool bandwidthAllowed = true;
> bool usesInterface = false, usesAddress = false;
>
> + if (virStringHasChars(def->name, "\n")) {
> + virReportError(VIR_ERR_XML_ERROR,
> + _("name %s cannot contain '\\n'"), def->name);
> + return -1;
> + }
> +
> /* Only the three L3 network types that are configured by libvirt
> * need to have a bridge device name / mac address provided
> */
>
Good, you found the best place to have this check. Impressive. But if we
go with my suggestion, this can be reduced to:
if (virStringHasChars(def->name, "\n"))
return -1;
Also, any plans on turning some other checks in other drivers into using
this wrapper?
Michal
More information about the libvir-list
mailing list