]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
remote_driver: Restore special behavior of remoteDomainGetBlockIoTune()
authorMichal Privoznik <mprivozn@redhat.com>
Mon, 29 Jan 2024 09:07:05 +0000 (10:07 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 29 Jan 2024 11:50:26 +0000 (12:50 +0100)
In v9.10.0-rc1~103 the remote driver was switched to g_auto() for
client RPC return parameters. But whilst doing so a small bug
slipped in: previously, when virDomainGetBlockIoTune() was called
with *nparams == 0, the function set *nparams to the number of
supported params and zero was returned (so that client can
allocate memory and call the API second time). IOW - the usual,
old style of APIs where we didn't want to allocate memory on
caller's behalf. But because of this bug, a negative one is
returned instead.

Fixes: 501825011c1fe80f458820c7efe5a198e0af9be5
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/remote/remote_driver.c

index 392377deae64158a992eea8c021895797baaf87a..bedf2cb833f2e7072c454ab8735207749573995a 100644 (file)
@@ -2570,7 +2570,7 @@ static int remoteDomainGetBlockIoTune(virDomainPtr domain,
      */
     if (*nparams == 0) {
         *nparams = ret.nparams;
-        return -1;
+        return 0;
     }
 
     if (virTypedParamsDeserialize((struct _virTypedParameterRemote *) ret.params.params_val,