From: Michal Privoznik Date: Mon, 29 Jan 2024 09:07:05 +0000 (+0100) Subject: remote_driver: Restore special behavior of remoteDomainGetBlockIoTune() X-Git-Tag: v10.1.0-rc1~193 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3a3f73ea9f1925ca5e256fa54c5aa451ddeaa19e;p=thirdparty%2Flibvirt.git remote_driver: Restore special behavior of remoteDomainGetBlockIoTune() 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 Reviewed-by: Ján Tomko --- diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 392377deae..bedf2cb833 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -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,