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@xxxxxxxxxx> > --- > 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list