On Wed, Jul 16, 2025 at 16:42:14 +0300, Anastasia Belova wrote:
> xmlCopyNode() may return NULL. Add a check and log an error
> in this case.
>
> Found by Linux Verification Center (linuxtesting.org) with Svace.
>
> Fixes: 22766a1a53 ("virshFindDisk: Sanitize use of 'tmp' variable")
> Signed-off-by: Anastasia Belova <[email protected]>
> ---
> tools/virsh-domain.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
> index 7253596f4a..8752294784 100644
> --- a/tools/virsh-domain.c
> +++ b/tools/virsh-domain.c
> @@ -12875,6 +12875,10 @@ virshFindDisk(const char *doc,
> STREQ_NULLABLE(sourceDir, path) ||
> STREQ_NULLABLE(sourceName, path)) {
> xmlNodePtr ret = xmlCopyNode(nodes[i], 1);
> + if (!ret) {
> + vshError(NULL, "%s", _("Failed to copy node"));
I've changed this to "Failed to copy XML node" as that message is
already used in our code and thus also translated.
> + return NULL;
> + }
> /* drop backing store since they are not needed here */
> virshDiskDropBackingStore(ret);
> return ret;
> --
> 2.43.0
>
Reviewed-by: Peter Krempa <[email protected]>