virTypedParamsSerialize: set remote_params_len at the end

Update the length @remote_params_len only if the related
@remote_params_val has also been set.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
Marc Hartmayer 2018-07-17 14:02:32 +02:00 committed by John Ferlan
parent c31146685f
commit 97be85dcc3

View File

@ -1501,8 +1501,8 @@ virTypedParamsSerialize(virTypedParameterPtr params,
size_t j;
int rv = -1;
virTypedParameterRemotePtr params_val;
int params_len = nparams;
*remote_params_len = nparams;
if (VIR_ALLOC_N(params_val, nparams) < 0)
goto cleanup;
@ -1515,7 +1515,7 @@ virTypedParamsSerialize(virTypedParameterPtr params,
if (!param->type ||
(!(flags & VIR_TYPED_PARAM_STRING_OKAY) &&
param->type == VIR_TYPED_PARAM_STRING)) {
--*remote_params_len;
--params_len;
continue;
}
@ -1556,6 +1556,7 @@ virTypedParamsSerialize(virTypedParameterPtr params,
}
*remote_params_val = params_val;
*remote_params_len = params_len;
params_val = NULL;
rv = 0;