about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella Netto <adhemerval.zanella@linaro.org>2022-10-26 16:04:24 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-12-28 17:25:18 -0300
commit01c0a0405c5ea63d9b528e062b935d2ff6a6e2ed (patch)
treeafbfeb5faabd9ada1ea7986d822454fd974c125e
parentd910ba48f47158d21c322b9f7e96831c83f69c67 (diff)
downloadglibc-01c0a0405c5ea63d9b528e062b935d2ff6a6e2ed.tar.gz
glibc-01c0a0405c5ea63d9b528e062b935d2ff6a6e2ed.tar.xz
glibc-01c0a0405c5ea63d9b528e062b935d2ff6a6e2ed.zip
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 <dj@redhat.com>

(cherry picked from commit fa4a19277842fd09a4815a986f70e0fe0903836f)
-rw-r--r--NEWS1
-rw-r--r--nscd/nscd.h2
-rw-r--r--nscd/nscd_gethst_r.c2
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)