summaryrefslogtreecommitdiffstats
path: root/src/device.c
diff options
context:
space:
mode:
authorGravatar Mikkel Kamstrup Erlandsen2014-03-19 13:32:45 +0100
committerGravatar Martin Szulecki2014-03-24 17:01:30 +0100
commitf87407aacfd335398cc6897d3d65103f20ead20a (patch)
treec14ea6379dc09b8b310c85147d4183cd2b249e94 /src/device.c
parentf545cc75f7caa5afa9a8f5a937344010d4d58e7d (diff)
downloadusbmuxd-f87407aacfd335398cc6897d3d65103f20ead20a.tar.gz
usbmuxd-f87407aacfd335398cc6897d3d65103f20ead20a.tar.bz2
device: fix potential integer overflow in mstime64() on 32 bit systems
Diffstat (limited to 'src/device.c')
-rw-r--r--src/device.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/device.c b/src/device.c
index 1297a85..ef97f72 100644
--- a/src/device.c
+++ b/src/device.c
@@ -124,7 +124,10 @@ static uint64_t mstime64(void)
{
struct timeval tv;
gettimeofday(&tv, NULL);
- return tv.tv_sec * 1000 + tv.tv_usec / 1000;
+
+ // Careful, avoid overflow on 32 bit systems
+ // time_t could be 4 bytes
+ return ((long long)tv.tv_sec) * 1000LL + ((long long)tv.tv_usec) / 1000LL;
}
static struct mux_device* get_mux_device_for_id(int device_id)