On Sat, May 16, 2026 at 09:55:26 +0200, Peter Krempa wrote:
> From: Peter Krempa <[email protected]>
> 
> There are 2 bugs in virTypedParamsValidateTemplate's counting of the
> passed amount of templates:
>  - the condition looked for empty strings rather than non-empty ones
>  - the count was 1 more than the amount of templates due to use of
>    post-increment directly in the condition
> 
> Fixes: 45617351585caa2c5bcc51af48bd32fd750e7afd
> Closes: https://gitlab.com/libvirt/libvirt/-/work_items/880
> Signed-off-by: Peter Krempa <[email protected]>
> ---
>  src/util/virtypedparam.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/util/virtypedparam.c b/src/util/virtypedparam.c
> index 92f25cea39..bca7478109 100644
> --- a/src/util/virtypedparam.c
> +++ b/src/util/virtypedparam.c
> @@ -213,8 +213,8 @@ virTypedParamsValidateTemplate(virTypedParameterPtr 
> params,
> 
>      /* we need to copy the list of templates because
>       * 'virTypedParamsValidateInternal' will need to sort it */
> -    while (*templates[ntemplates++].name == '\0')
> -        ;
> +    while (*templates[ntemplates].name != '\0')
> +        ntemplates++;
> 
>      templ_copy = g_new0(virTypedParamValidationTemplate, ntemplates);
>      memcpy(templ_copy, templates, sizeof(*templates) * ntemplates);

Reviewed-by: Jiri Denemark <[email protected]>

Reply via email to