Jeff Trull
df2125a1bd
Repair Overflow Checks
...
The previous code checked for signed overflow on +, -, and * by doing
the operation and checking the result, which can invoke undefined
behavior. This replaces that code with initial tests on the operands.
In addition, a test for the sole integer division overflow case (that
is not division by zero) was missing: INT_MIN / -1
It has now been added, along with a test case.
2024-06-25 15:00:02 -07:00
..
2018-10-04 17:40:21 +02:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2022-06-22 11:22:27 -07:00
2022-06-22 11:22:27 -07:00
2024-01-17 19:09:53 -08:00
2012-05-23 14:41:35 +00:00
2022-06-22 11:22:27 -07:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2020-04-12 12:40:03 -07:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:38:10 +00:00
2012-05-23 14:38:10 +00:00
2020-06-27 07:22:52 -07:00
2020-06-27 07:22:52 -07:00
2020-06-27 07:22:52 -07:00
2022-01-18 10:46:16 -08:00
2020-06-27 07:22:52 -07:00
2020-06-27 07:22:52 -07:00
2020-06-27 07:22:52 -07:00
2020-06-27 07:22:52 -07:00
2022-06-22 11:22:27 -07:00
2012-05-23 14:41:35 +00:00
2020-04-12 12:40:03 -07:00
2020-04-12 12:40:03 -07:00
2020-04-12 12:40:03 -07:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2020-03-15 22:54:01 -07:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2022-11-08 18:13:32 -08:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2020-07-20 20:51:14 -07:00
2020-07-20 20:51:14 -07:00
2020-07-20 20:51:14 -07:00
2022-06-22 11:23:06 -07:00
2022-06-25 07:09:56 -07:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2024-06-25 15:00:02 -07:00
2017-11-28 05:37:16 -08:00
2017-09-18 22:25:52 +02:00
2017-09-17 15:35:37 +02:00
2017-09-18 22:02:57 +02:00
2017-09-18 22:02:57 +02:00
2017-09-18 22:25:52 +02:00
2017-09-18 22:25:52 +02:00
2020-04-12 12:40:03 -07:00
2020-03-06 11:48:50 -08:00
2020-03-06 11:48:50 -08:00
2020-03-06 11:48:50 -08:00
2020-03-06 11:48:50 -08:00
2020-03-06 11:48:50 -08:00
2020-03-06 11:48:50 -08:00
2020-04-12 12:40:03 -07:00
2020-03-06 11:48:50 -08:00
2020-03-06 11:48:50 -08:00
2020-03-06 11:48:50 -08:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2020-04-12 12:40:03 -07:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-05-23 14:41:35 +00:00
2012-07-22 23:08:25 +00:00
2012-07-22 23:08:25 +00:00
2012-07-28 14:08:09 +00:00
2017-10-19 16:23:19 -05:00
2018-10-06 12:41:23 +02:00
2018-10-06 12:41:23 +02:00
2018-10-04 17:40:21 +02:00
2018-10-04 17:40:21 +02:00
2024-06-25 15:00:02 -07:00