[libvirt] [PATCH 2/2] nss: Need to check error condition on virJSONValueArraySize
Michal Privoznik
mprivozn at redhat.com
Thu Dec 8 16:03:35 UTC 2016
On 07.12.2016 14:20, John Ferlan wrote:
> If the 'nleases < 0' on return, then the subsequent call to
> findLeaseInJSON will not produce the expected results (passed
> in as a size_t, but nleases is a ssize_t). So check if the
> returned value < 0 and if so, goto cleanup.
>
> Found by Coverity as a NEGATIVE_RETURNS event
>
> Signed-off-by: John Ferlan <jferlan at redhat.com>
> ---
> tools/nss/libvirt_nss.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/nss/libvirt_nss.c b/tools/nss/libvirt_nss.c
> index 418c11f..b69e62c 100644
> --- a/tools/nss/libvirt_nss.c
> +++ b/tools/nss/libvirt_nss.c
> @@ -309,7 +309,8 @@ findLease(const char *name,
> }
> VIR_DIR_CLOSE(dir);
>
> - nleases = virJSONValueArraySize(leases_array);
> + if ((nleases = virJSONValueArraySize(leases_array)) < 0)
> + goto cleanup;
> DEBUG("Read %zd leases", nleases);
Well, this one could happen iff @leases_array wouldn't be a JSON array.
Thus I'm okay with skipping DEBUG() in that case.
Michal
More information about the libvir-list
mailing list