about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSvante Signell <svante.signell@gmail.com>2016-08-30 23:06:31 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-08-30 23:07:30 +0200
commitaaf30454802855d439f3d4d1a12fd6b905621029 (patch)
treee31238fcff98ada3bdbc790b0c03970fbda64149
parent9d84d0e51d0a590024a050b64e04df3214a04a01 (diff)
downloadglibc-aaf30454802855d439f3d4d1a12fd6b905621029.tar.gz
glibc-aaf30454802855d439f3d4d1a12fd6b905621029.tar.xz
glibc-aaf30454802855d439f3d4d1a12fd6b905621029.zip
hurd: Fix adjtime call with OLDDELTA == NULL
* sysdeps/mach/hurd/adjtime.c (__adjtime): When OLDDELTA is NULL, make
it point to a dumb buffer for RPC to fill it.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/mach/hurd/adjtime.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 418bdae9b4..d24536ba9c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-08-30  Svante Signell  <svante.signell@gmail.com>
+
+	* sysdeps/mach/hurd/adjtime.c (__adjtime): When OLDDELTA is NULL, make
+	it point to a dumb buffer for RPC to fill it.
+
 2016-08-30  Siddhesh Poyarekar  <siddhesh@sourceware.org>
 
 	* sysdeps/ieee754/dbl-64/s_sin.c (do_cos_slow): Use ternary
diff --git a/sysdeps/mach/hurd/adjtime.c b/sysdeps/mach/hurd/adjtime.c
index d65b95b9c6..7cfdd53e82 100644
--- a/sysdeps/mach/hurd/adjtime.c
+++ b/sysdeps/mach/hurd/adjtime.c
@@ -28,11 +28,15 @@ __adjtime (const struct timeval *delta, struct timeval *olddelta)
 {
   error_t err;
   mach_port_t hostpriv;
+  struct timeval dummy;
 
   err = __get_privileged_ports (&hostpriv, NULL);
   if (err)
     return __hurd_fail (EPERM);
 
+  if (olddelta == NULL)
+    olddelta = &dummy;
+
   err = __host_adjust_time (hostpriv,
 			    /* `time_value_t' and `struct timeval' are in
                                fact identical with the names changed.  */