From 01c0a0405c5ea63d9b528e062b935d2ff6a6e2ed Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Netto Date: Wed, 26 Oct 2022 16:04:24 -0300 Subject: [PATCH] nscd: Use 64 bit time_t on libc nscd routines (BZ# 29402) Although the nscd module is built with 64 bit time_t, the routines linked direct to libc.so need to use the internal symbols. Reviewed-by: DJ Delorie (cherry picked from commit fa4a19277842fd09a4815a986f70e0fe0903836f) --- NEWS | 1 + nscd/nscd.h | 2 +- nscd/nscd_gethst_r.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 2765efc5a2..a70622df1d 100644 --- a/NEWS +++ b/NEWS @@ -125,6 +125,7 @@ The following bugs are resolved with this release: [29213] libc: gconv_parseconfdir is not y2038 aware [29214] nptl: pthread_setcanceltype fails to set type [29305] Conserve NSS buffer space during DNS packet parsing + [29402] nscd: nscd: No such file or directory [29415] nscd: Fix netlink cache invalidation if epoll is used [29446] _dlopen now ignores dl_caller argument in static mode [29490] alpha: New __brk_call implementation is broken diff --git a/nscd/nscd.h b/nscd/nscd.h index b5da5be98a..1ce4c1f7fd 100644 --- a/nscd/nscd.h +++ b/nscd/nscd.h @@ -66,7 +66,7 @@ typedef enum struct traced_file { /* Tracks the last modified time of the traced file. */ - time_t mtime; + __time64_t mtime; /* Support multiple registered files per database. */ struct traced_file *next; int call_res_init; diff --git a/nscd/nscd_gethst_r.c b/nscd/nscd_gethst_r.c index 81bf324256..b6baa8abf8 100644 --- a/nscd/nscd_gethst_r.c +++ b/nscd/nscd_gethst_r.c @@ -113,7 +113,7 @@ __nscd_get_nl_timestamp (void) if (map == NULL || (map != NO_MAPPING && map->head->nscd_certainly_running == 0 - && map->head->timestamp + MAPPING_TIMEOUT < time_now ())) + && map->head->timestamp + MAPPING_TIMEOUT < time64_now ())) map = __nscd_get_mapping (GETFDHST, "hosts", &__hst_map_handle.mapped); if (map == NO_MAPPING)