mirror of
https://github.com/troglobit/finit.git
synced 2026-10-01 13:33:09 +07:00
Fix Coverty CID #96209: Dereference NULL return value.
The new iterators `svc_inetd_iterator()` and `svc_dynamic_iterator()` used unsafe constructs that could cause them, at least the latter, to dereference a `NULL` pointer. Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
@@ -138,12 +138,12 @@ svc_t *svc_iterator(int first)
|
||||
*/
|
||||
svc_t *svc_inetd_iterator(int first)
|
||||
{
|
||||
svc_t *svc = svc_iterator(first);
|
||||
svc_t *svc;
|
||||
|
||||
do {
|
||||
for (svc = svc_iterator(first); svc; svc = svc_iterator(0)) {
|
||||
if (svc_is_inetd(svc))
|
||||
return svc;
|
||||
} while ((svc = svc_iterator(0)));
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@@ -159,12 +159,12 @@ svc_t *svc_inetd_iterator(int first)
|
||||
*/
|
||||
svc_t *svc_dynamic_iterator(int first)
|
||||
{
|
||||
svc_t *svc = svc_iterator(first);
|
||||
svc_t *svc;
|
||||
|
||||
do {
|
||||
for (svc = svc_iterator(first); svc; svc = svc_iterator(0)) {
|
||||
if (svc->mtime)
|
||||
return svc;
|
||||
} while ((svc = svc_iterator(0)));
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user