OSDN Git Service

Fix integer overflow in make_timestamp_ns_locked
authorRoman Kiryanov <rkir@google.com>
Wed, 21 Aug 2019 18:01:39 +0000 (11:01 -0700)
committerRoman Kiryanov <rkir@google.com>
Wed, 21 Aug 2019 18:01:39 +0000 (11:01 -0700)
commite9db937f4008f097f4ee9dc341a3afc219a96fd9
treeedb5e6f343a93d6ba38603621cd71e22bfaa542f
parent95e7c023f51a61938c6e7e3e73355e03fda023b6
Fix integer overflow in make_timestamp_ns_locked

timespec::tv_sec is time_t which is 32bit wide on
32bit platforms. Multipliyng 32bit integers (tv_sec and
1000) produces another 32bit integer which overflows
in this case and turns into a negative value which
confuses the logic downstream. This change makes the
multiplication to be 64bit which prevent the overflow.

Bug: 139320584
Bug: 139538727
Test: GtsIncidentManagerTestCases
Change-Id: Ie956074961c7c1f08e2519920f7ce69d5c9e12d3
Signed-off-by: Roman Kiryanov <rkir@google.com>
cmds/incidentd/src/WorkDirectory.cpp