
On Mon, 2019-07-29 at 18:11 +0100, Daniel P. Berrangé wrote:
+++ b/src/util/viridentity.c +int virIdentitySetParameters(virIdentityPtr ident, + virTypedParameterPtr params, + int nparams)
Return type on a separate line. [...]
+ virTypedParamsFree(ident->params, ident->nparams); + ident->params = NULL; + ident->nparams = 0;
I'm obviously a bit unclear on some pretty fundamental details of the virTypedParam API. More specifically: shouldn't you set ident->maxparams = 0; here as well? I don't see how it could work otherwise.
+ if (virTypedParamsCopy(&ident->params, params, nparams) < 0) + return -1; + ident->nparams = nparams;
And here too, don't you need to do ident->maxparams = ident->nparams; for subsequent calls to virTypedParamAdd*() to know whether they need to allocate additional memeory? [...]
+int virIdentityGetParameters(virIdentityPtr ident, + virTypedParameterPtr *params, + int *nparams)
Return type on a separate line. -- Andrea Bolognani / Red Hat / Virtualization