Joachim Henze
222acf5a3e
[NTUSER] Scrollbar.c, Avoid potential out-of-bounds-accesses in co_IntSetScrollInfo() CORE-17777
...
This is an addendum to
0.4.15-dev-3174-g dda9c3979e CORE-17769 and
0.4.15-dev-3147-g 3bf7e3ac13 CORE-17754 CORE-17755
We have not seen this happening in real-life yet, but some code-fragments within co_IntSetScrollInfo()
e.g. line 628 if (nBar == SB_CTL) do clearly indicate that nBar can be 2 (SB_CTL).
Some lines below we definitely must not access those 4 static arrays out of bounds then via nBar as access index!
Ftr with a bit of grepping I also found some calls like NtUserSetScrollInfo(Wnd, SB_CTL, &Info, FALSE);
e.g: in win32ss/user/user32/controls/scrollbar.c so I am pretty sure nBar == 2 can happen in practice within co_IntSetScrollInfo().
I question whether any of those reads/writes to those static arrays (or the comparisons) would make any sense on index 2,
so we should aim to eliminate them altogether in the future.
2021-09-20 03:05:05 +02:00
..
2018-03-18 15:53:52 +01:00
2017-10-03 07:45:34 +00:00
2017-10-03 07:45:34 +00:00
2020-06-24 09:15:27 +02:00
2020-04-03 03:58:29 -05:00
2017-10-03 07:45:34 +00:00
2019-12-26 19:08:01 +09:00
2017-10-03 07:45:34 +00:00
2020-04-27 12:54:10 +02:00
2018-12-11 12:30:59 +09:00
2020-12-19 17:51:37 +01:00
2017-10-03 07:45:34 +00:00
2021-09-13 03:52:22 +02:00
2021-09-13 03:52:22 +02:00
2021-09-13 03:52:22 +02:00
2018-05-30 14:18:23 +02:00
2017-10-03 07:45:34 +00:00
2021-05-12 11:04:29 +02:00
2017-10-03 07:45:34 +00:00
2020-04-11 17:58:38 -05:00
2021-08-03 23:13:19 +02:00
2021-08-03 23:13:19 +02:00
2021-07-15 08:32:46 +02:00
2020-04-05 21:11:44 -05:00
2019-04-12 07:56:04 +09:00
2020-03-05 15:39:23 +01:00
2017-10-03 07:45:34 +00:00
2019-12-29 16:14:15 +01:00
2018-12-19 16:13:18 +02:00
2021-09-13 03:52:22 +02:00
2017-10-03 07:45:34 +00:00
2019-06-15 21:26:41 +02:00
2018-03-18 15:53:52 +01:00
2019-01-15 14:36:41 +01:00
2019-01-15 14:36:41 +01:00
2021-08-18 08:42:12 +09:00
2020-11-02 21:45:31 +03:00
2021-05-12 11:04:29 +02:00
2021-09-19 00:46:56 +02:00
2021-07-27 14:44:14 +02:00
2017-10-03 07:45:34 +00:00
2021-08-06 15:18:21 +02:00
2019-10-12 16:19:58 +02:00
2017-10-03 07:45:34 +00:00
2020-09-05 17:59:10 +03:00
2021-08-04 09:41:59 +09:00
2021-07-11 09:48:15 +09:00
2017-10-03 07:45:34 +00:00
2017-10-03 07:45:34 +00:00
2017-10-03 07:45:34 +00:00
2019-11-16 09:49:49 +09:00
2020-11-02 21:45:31 +03:00
2021-05-12 11:04:29 +02:00
2020-05-26 20:25:39 +02:00
2021-09-16 19:29:49 +09:00
2021-08-06 10:15:02 +02:00
2021-08-06 10:15:02 +02:00
2018-03-18 15:53:52 +01:00
2021-01-19 00:15:02 +03:00
2021-08-03 23:13:19 +02:00
2019-04-17 14:43:24 -05:00
2020-08-08 14:05:22 +09:00
2017-10-03 07:45:34 +00:00
2017-10-03 07:45:34 +00:00
2021-09-20 03:05:05 +02:00
2020-02-11 20:59:14 +09:00
2017-10-03 07:45:34 +00:00
2018-08-19 22:18:30 +02:00
2017-10-03 07:45:34 +00:00
2021-08-03 23:13:19 +02:00
2021-09-13 03:52:22 +02:00
2017-10-13 21:44:02 +02:00
2019-11-01 19:12:27 +01:00
2021-08-03 23:13:19 +02:00
2021-05-12 11:04:29 +02:00
2017-10-03 07:45:34 +00:00
2017-10-03 07:45:34 +00:00
2018-08-19 22:18:34 +02:00
2021-08-03 23:13:19 +02:00
2021-08-03 23:13:19 +02:00
2017-10-03 07:45:34 +00:00
2017-10-03 07:45:34 +00:00
2021-08-21 07:31:10 +09:00
2018-06-30 13:26:56 +02:00
2020-11-02 21:45:31 +03:00
2021-08-21 07:31:10 +09:00
2019-09-24 17:40:18 -05:00
2021-06-01 11:11:23 +09:00
2017-10-03 07:45:34 +00:00
2021-07-10 16:27:44 +02:00
2021-05-12 11:04:29 +02:00