virTypedParamsGetStringList: Ensure that returned string list is NULL-terminated

This can simplify callers who don't really need to know the number of
elements to check that a particular element is present.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Peter Krempa 2024-09-27 11:28:22 +02:00
parent 7933310ce9
commit 9bf319147c

View File

@ -439,8 +439,8 @@ virTypedParamsFilter(virTypedParameterPtr params,
* @values: array of returned values
*
* Finds all parameters with desired @name within @params and
* store their values into @values. If none of the @params are strings named
* @name the returned @values will be NULL.
* store their values into a NULL-terminated string list @values. If none of
* the @params are strings named @name the returned @values will be NULL.
*
* Important: The strings in the returned string list @values are borrowed from
* @params and thus caller must free only the pointer returned as @values, but
@ -465,7 +465,7 @@ virTypedParamsGetStringList(virTypedParameterPtr params,
if (nfiltered == 0)
return 0;
*values = g_new0(const char *, nfiltered);
*values = g_new0(const char *, nfiltered + 1);
for (i = 0; i < nfiltered; i++) {
(*values)[i] = filtered[i]->value.s;