Bug: on vpn.berlin.freifunk.net times() return negative value
authorSven-Ola Tuecke <sven-ola@gmx.de>
Thu, 8 Jan 2009 08:38:18 +0000 (09:38 +0100)
committerSven-Ola Tuecke <sven-ola@gmx.de>
Thu, 8 Jan 2009 08:38:18 +0000 (09:38 +0100)
for whatever reason. This node is a vmware-based virtual machine. Uptime says: 58 days,
which obviously overflows the value here. Because it looks like a negative return
value on errors, the most significant bit is zeroed with this fix.

src/main.c

index bc9b486..e9c2706 100644 (file)
@@ -846,7 +846,7 @@ olsr_times(void)
 {
   struct tms tms_buf;
   const long t = times(&tms_buf);
-  return t < 0 ? -errno : t;
+  return -1 == t ? -errno : (t & 0x7fffffff);
 }
 
 /*