leaseshelper: Skip entries missing expiry time on INIT action

Coverity pointed out that in other places we always check the return
value from virJSONValueObjectGetNumberLong() but not in the new addition
in leaseshelper. To solve the issue and also be more robust in case
somebody would corrupt the file, skip outputting of the lease entry in
case the expiry time is missing.
This commit is contained in:
Peter Krempa 2014-12-03 18:24:38 +01:00
parent 87b9437f89
commit 3be8c1f002

View File

@ -397,7 +397,10 @@ main(int argc, char **argv)
goto cleanup;
}
if (!strchr(ip_tmp, ':')) {
virJSONValueObjectGetNumberLong(lease_tmp, "expiry-time", &expirytime);
if (virJSONValueObjectGetNumberLong(lease_tmp, "expiry-time",
&expirytime) < 0)
continue;
printf("%lld %s %s %s %s\n",
expirytime,
virJSONValueObjectGetString(lease_tmp, "mac-address"),
@ -418,7 +421,10 @@ main(int argc, char **argv)
goto cleanup;
}
if (strchr(ip_tmp, ':')) {
virJSONValueObjectGetNumberLong(lease_tmp, "expiry-time", &expirytime);
if (virJSONValueObjectGetNumberLong(lease_tmp, "expiry-time",
&expirytime) < 0)
continue;
printf("%lld %s %s %s %s\n",
expirytime,
virJSONValueObjectGetString(lease_tmp, "iaid"),