[libvirt] [PATCH v2 1/2] Add VIR_TYPED_PARAM_STRING
Eric Blake
eblake at redhat.com
Tue Sep 13 22:33:42 UTC 2011
On 09/08/2011 12:59 AM, Hu Tao wrote:
> ---
> daemon/remote.c | 15 +++++++++++++++
Needs a commit comment, documenting compat issues (newer client talking
to older server; older client talking to newer server). See my email on
v1 about how I think we also need the addition of a new flag, and that
no hypervisor driver will send a string unless the new flag is present
to say strings are safe.
> /**
> @@ -519,6 +520,7 @@ struct _virTypedParameter {
> unsigned long long int ul; /* type is ULLONG */
> double d; /* type is DOUBLE */
> char b; /* type is BOOLEAN */
> + char *s; /* type is STRING */
Can s legitimately be NULL, or is it guaranteed to be non-NULL?
> } value; /* parameter value */
> };
>
> diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
> index 9d34b7e..f4cdc2e 100644
> --- a/src/remote/remote_driver.c
> +++ b/src/remote/remote_driver.c
> @@ -1276,6 +1276,13 @@ remoteSerializeTypedParameters(virTypedParameterPtr params,
> case VIR_TYPED_PARAM_BOOLEAN:
> val[i].value.remote_typed_param_value_u.b = params[i].value.b;
> break;
> + case VIR_TYPED_PARAM_STRING:
> + val[i].value.remote_typed_param_value_u.s = strdup(params[i].value.s);
If s can be NULL, this will crash. If s cannot be NULL, then where to
we validate it?
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
More information about the libvir-list
mailing list