Nick Briggs
12c5f3231e
Correct handling of return value of N_OP_unwind()
...
The return value of N_OP_unwind is really of type LispPTR *, however it was
declared as UNSIGNED (effectively uintptr_t) so that the ERROR_EXIT macro
could be used to return an error indication (-1, =UINT_MAX). The call site
checked for the error condition with (int)result < 0, not accounting for the
case where a native pointer may have the high-order bit set.
We correct this problem by declaring the return type as LispPTR *,
and expand the ERROR_EXIT macro in place substituting (LispPTR *)(-1)
as the error return value, and at the single call site check for equality
with that same value.
The test case was executing the opcode tester on a Raspberry Pi or
a BeagleBone Black/Debian 10.3 where the non-error result was > 0xB0000000
modified: inc/inlineC.h
modified: inc/unwinddefs.h
modified: src/unwind.c
2021-01-01 14:08:41 -08:00
..
2020-12-10 08:07:35 -08:00
2015-04-20 18:53:52 -07:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-12-10 08:07:35 -08:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-09-04 18:21:44 -07:00
2020-12-10 08:07:35 -08:00
2017-07-03 16:29:06 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2017-06-22 23:32:22 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-12-22 01:53:47 +00:00
2020-09-04 18:21:44 -07:00
2015-04-20 18:53:52 -07:00
2020-09-04 16:27:23 -07:00
2020-09-04 18:21:44 -07:00
2020-09-27 11:58:17 -07:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2015-04-20 18:53:52 -07:00
2020-09-04 18:21:44 -07:00
2020-12-14 13:50:55 -08:00
2020-08-11 18:39:45 -07:00
2020-12-10 08:07:35 -08:00
2020-12-10 08:07:35 -08:00
2020-09-27 11:58:17 -07:00
2020-08-11 18:39:45 -07:00
2015-04-20 18:53:52 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-09-27 11:58:17 -07:00
2020-09-27 11:58:17 -07:00
2015-04-20 18:53:52 -07:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-09-27 11:58:17 -07:00
2020-08-11 18:39:45 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-05 16:39:21 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-05 17:04:28 -07:00
2020-09-27 11:58:17 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-12-28 10:10:43 -08:00
2020-09-04 18:21:44 -07:00
2015-04-20 18:53:52 -07:00
2020-09-27 11:58:17 -07:00
2020-09-27 11:58:17 -07:00
2020-09-04 18:21:44 -07:00
2021-01-01 14:08:41 -08:00
2015-04-20 18:53:52 -07:00
2020-12-10 08:07:35 -08:00
2020-12-31 10:29:19 -08:00
2020-12-31 10:29:19 -08:00
2015-04-20 18:53:52 -07:00
2015-04-20 18:53:52 -07:00
2020-09-04 18:21:44 -07:00
2020-12-10 08:07:35 -08:00
2020-12-10 08:07:35 -08:00
2020-09-04 18:21:44 -07:00
2020-12-10 08:07:35 -08:00
2020-09-27 11:58:17 -07:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-12-10 08:07:35 -08:00
2020-08-11 18:39:45 -07:00
2015-04-20 18:53:52 -07:00
2020-12-10 08:07:35 -08:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-09-04 18:21:44 -07:00
2020-12-17 09:33:20 -08:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-12-13 05:35:53 +00:00
2020-12-13 05:35:53 +00:00
2020-12-10 08:07:35 -08:00
2015-04-20 18:53:52 -07:00
2015-04-20 18:53:52 -07:00
2020-08-11 18:45:09 -07:00
2020-08-11 18:39:45 -07:00
2020-09-04 18:21:44 -07:00
2020-09-27 11:58:17 -07:00
2020-12-22 23:23:26 -08:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2015-04-20 18:53:52 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-12-10 08:07:35 -08:00
2020-09-04 18:21:44 -07:00
2020-12-10 08:07:35 -08:00
2020-12-10 08:07:35 -08:00
2020-12-10 08:07:35 -08:00
2015-04-20 18:53:52 -07:00
2020-12-13 10:22:43 -08:00
2020-08-11 18:39:45 -07:00
2015-04-20 18:53:52 -07:00
2020-12-15 18:31:46 -08:00
2020-12-10 08:07:35 -08:00
2020-09-27 11:58:17 -07:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-08-11 18:39:45 -07:00
2020-08-11 18:39:45 -07:00
2020-08-11 18:39:45 -07:00
2020-08-11 18:39:45 -07:00
2020-12-10 08:07:35 -08:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-12-07 11:03:05 -08:00
2020-09-04 18:21:44 -07:00
2020-12-10 08:07:35 -08:00
2020-12-11 22:06:23 -08:00
2020-08-11 18:39:45 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2015-04-20 18:53:52 -07:00
2020-09-06 12:22:50 -07:00
2020-08-11 18:39:45 -07:00
2020-09-27 11:58:17 -07:00
2020-12-22 17:34:10 +00:00
2020-09-27 11:58:17 -07:00
2020-08-11 18:39:45 -07:00
2020-08-11 18:39:45 -07:00
2020-08-11 18:39:45 -07:00
2020-08-11 18:39:45 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-27 11:58:17 -07:00
2021-01-01 14:08:41 -08:00
2020-09-27 11:58:17 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-12-31 01:33:58 +00:00
2020-08-11 18:39:45 -07:00
2020-09-27 11:58:17 -07:00
2020-09-04 18:21:44 -07:00
2015-04-20 18:53:52 -07:00
2020-08-11 18:39:45 -07:00
2020-12-21 18:09:14 +00:00
2020-12-28 07:19:30 +00:00
2020-12-21 22:11:39 -08:00
2020-09-04 18:21:44 -07:00
2020-08-11 18:39:45 -07:00
2020-09-27 11:58:17 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2017-06-07 23:53:03 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00
2020-09-04 18:21:44 -07:00