nscd: Use time_t for return type of addgetnetgrentX

Using int may give false results for future dates (timeouts after the
year 2028).

Fixes commit 04a21e050d64a1193a6daab872bca2528bda44b ("CVE-2024-33601,
CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX
(bug 31680)").

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
(cherry picked from commit 4bbca1a446)
This commit is contained in:
Florian Weimer 2024-05-02 17:06:19 +02:00
parent e9f05fa1c6
commit f510d75ff7

View File

@ -680,8 +680,8 @@ readdinnetgr (struct database_dyn *db, struct hashentry *he,
.key_len = he->len
};
int timeout = addinnetgrX (db, -1, &req, db->data + he->key, he->owner,
he, dh);
time_t timeout = addinnetgrX (db, -1, &req, db->data + he->key, he->owner,
he, dh);
if (timeout < 0)
timeout = 0;
return timeout;