]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Y2038: add function __clntudp_bufcreate64
authorAlbert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
Thu, 12 Apr 2018 18:49:49 +0000 (20:49 +0200)
committerAlbert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
Wed, 24 Oct 2018 10:53:27 +0000 (12:53 +0200)
sunrpc/clnt_udp.c
sunrpc/rpc/clnt.h

index 27a324465a0c737192f0e555231b253ea456d475..0892ae38e0f7a0a656bd36fb563cbdba971759eb 100644 (file)
@@ -663,3 +663,21 @@ __clntudp_create64 (struct sockaddr_in *raddr, u_long program, u_long version,
 
   return clntudp_create (raddr, program, version, wait32, sockp);
 }
+
+CLIENT *
+__clntudp_bufcreate64 (struct sockaddr_in *raddr, u_long program, u_long version,
+                      struct __timeval64 wait, int *sockp, u_int sendsz,
+                      u_int recvsz)
+{
+  struct timeval wait32;
+
+  if (wait.tv_sec > INT_MAX)
+  {
+    return NULL;
+  }
+
+  wait32.tv_sec = wait.tv_sec;
+  wait32.tv_usec = wait.tv_usec;
+
+  return clntudp_bufcreate (raddr, program, version, wait32, sockp, sendsz, recvsz);
+}
index b24b5ccafebb9d6e55c9b560504be9de6d2236c4..a6dff89decc81c0c6335dabd79802bcf5b5a2f9f 100644 (file)
@@ -344,6 +344,18 @@ extern CLIENT * __REDIRECT (clntudp_create,(struct sockaddr_in *__raddr,
 extern CLIENT *clntudp_create (struct sockaddr_in *__raddr, u_long __program,
                               u_long __version, struct timeval __wait_resend,
                               int *__sockp) __THROW;
+#ifdef __USE_TIME_BITS64
+# if defined(__REDIRECT)
+extern CLIENT * __REDIRECT (clntudp_bufcreate,(struct sockaddr_in *__raddr,
+                                              u_long __program, u_long __version,
+                                              struct __timeval64 __wait_resend,
+                                              int *__sockp, u_int __sendsz,
+                                              u_int __recvsz),
+                            __clntudp_bufcreate64) __THROW;
+# else
+# define clntudp_bufcreate __clntudp_bufcreate64
+# endif
+#endif
 extern CLIENT *clntudp_bufcreate (struct sockaddr_in *__raddr,
                                  u_long __program, u_long __version,
                                  struct timeval __wait_resend, int *__sockp,