Sergei Petrunia
cdb29960d2
MDEV-17783: AddressSanitizer: stack-buffer-overflow in table_cond_selectivity
...
A less-intrusive fix: don't have table_cond_selectivity() assume that
there are less than MAX_REF_PARTS hash-join KEYUSEs.
If there are more than that, switch to using an array. Allocate the array
on the heap: we can't allocate it on MEM_ROOT as table_cond_selectivity()
is called many times during the optimization.
(Variant 2, with review input addressed)
2021-07-03 12:01:38 +03:00
..
2019-02-05 01:34:17 +01:00
2021-04-15 09:42:37 +02:00
2020-09-24 13:58:29 +10:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-10-16 09:44:03 +11:00
2021-05-07 21:42:42 +02:00
2020-10-24 22:43:21 +11:00
2020-10-27 09:24:15 +01:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-01-15 18:06:24 +01:00
2019-09-01 19:17:35 +03:00
2019-06-17 18:04:47 +01:00
2019-02-05 01:34:17 +01:00
2019-03-12 09:51:42 +01:00
2019-02-05 01:34:17 +01:00
2020-05-27 15:56:40 +02:00
2019-09-23 14:11:48 +05:30
2019-09-01 19:17:35 +03:00
2020-01-20 16:15:05 +01:00
2019-09-01 19:17:35 +03:00
2019-08-28 12:06:52 +02:00
2020-07-06 21:17:15 +05:30
2019-02-20 16:23:10 +01:00
2020-01-15 18:06:24 +01:00
2020-09-24 13:58:29 +10:00
2021-01-11 21:54:47 +01:00
2020-12-17 13:44:06 -08:00
2021-06-25 18:06:08 -07:00
2020-12-16 09:13:24 -08:00
2020-05-22 15:00:29 +04:00
2019-09-01 19:17:35 +03:00
2021-05-20 09:45:27 +05:30
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-06-03 12:42:36 +04:00
2019-06-03 12:42:36 +04:00
2020-09-22 15:21:43 +03:00
2020-12-10 08:45:20 +01:00
2019-09-01 19:17:35 +03:00
2020-05-22 15:00:29 +04:00
2020-06-06 18:07:04 +03:00
2020-06-06 18:07:04 +03:00
2020-06-06 18:07:04 +03:00
2019-03-27 12:26:11 +02:00
2019-03-27 12:26:11 +02:00
2020-01-21 21:15:10 +01:00
2019-09-04 15:37:23 +02:00
2021-06-30 13:52:23 +03:00
2021-04-12 15:59:23 +02:00
2021-06-21 16:21:17 -07:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-01-15 18:06:24 +01:00
2019-09-01 19:17:35 +03:00
2020-08-21 14:48:53 +03:00
2020-01-15 18:06:24 +01:00
2020-01-15 18:06:24 +01:00
2020-04-01 11:34:32 +02:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-01-03 12:40:38 +01:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-03-09 12:19:11 +02:00
2019-04-28 12:49:59 +02:00
2019-09-01 19:17:35 +03:00
2020-09-01 16:20:23 +03:00
2019-09-01 19:17:35 +03:00
2019-12-09 01:17:16 +04:00
2020-04-18 11:51:42 +03:00
2019-09-01 19:17:35 +03:00
2020-12-10 08:45:20 +01:00
2021-03-18 09:54:49 -07:00
2019-04-27 08:44:29 +04:00
2019-09-01 19:17:35 +03:00
2020-10-22 15:51:14 +04:00
2020-12-19 11:44:42 +01:00
2020-10-23 15:53:41 +02:00
2020-01-03 12:40:38 +01:00
2020-01-15 18:06:24 +01:00
2020-01-24 00:29:06 +04:00
2019-09-01 19:17:35 +03:00
2020-10-23 15:53:41 +02:00
2019-12-24 15:05:52 +04:00
2019-09-01 19:17:35 +03:00
2019-09-04 15:37:23 +02:00
2019-04-27 11:28:50 +02:00
2021-06-28 11:53:33 +04:00
2019-02-23 17:43:59 +04:00
2021-03-27 10:42:39 +01:00
2020-03-18 13:55:21 +04:00
2020-04-18 11:51:42 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-05-04 17:04:55 +02:00
2020-10-24 16:32:07 +02:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-08-04 10:55:21 +05:30
2019-09-01 19:17:35 +03:00
2021-01-12 18:47:39 +05:30
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-08-21 14:48:53 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-06-12 10:55:53 +03:00
2020-04-01 10:24:36 +03:00
2019-10-28 08:17:56 +01:00
2019-09-01 19:17:35 +03:00
2019-04-24 11:15:38 +02:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2021-01-19 16:16:03 +05:30
2019-09-01 19:17:35 +03:00
2020-08-21 14:48:53 +03:00
2020-09-01 15:52:36 +03:00
2021-02-25 12:42:01 +05:30
2020-10-16 09:44:03 +11:00
2019-09-01 19:17:35 +03:00
2020-01-18 00:05:16 +01:00
2020-01-18 00:05:16 +01:00
2019-03-27 12:26:11 +02:00
2021-03-22 22:04:54 -07:00
2019-09-01 19:17:35 +03:00
2019-05-28 14:53:08 -07:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2021-04-17 11:02:29 -07:00
2019-09-01 19:17:35 +03:00
2019-03-15 21:00:41 +01:00
2021-01-24 11:35:55 +01:00
2020-10-21 14:02:04 +03:00
2019-03-04 16:46:58 +02:00
2019-02-23 17:43:59 +04:00
2020-01-30 18:43:50 +01:00
2020-12-11 19:35:38 +01:00
2020-05-23 14:58:33 +03:00
2020-08-21 14:48:53 +03:00
2020-01-15 18:06:24 +01:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-10-21 14:02:04 +03:00
2019-05-29 08:28:15 +03:00
2019-09-01 19:17:35 +03:00
2019-02-01 17:10:27 +04:00
2020-03-02 16:35:57 +01:00
2020-01-15 18:06:24 +01:00
2019-09-01 19:17:35 +03:00
2021-04-28 08:53:37 +02:00
2019-04-28 12:49:59 +02:00
2021-05-14 11:49:46 +01:00
2020-01-15 18:06:24 +01:00
2020-01-15 18:06:24 +01:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-04-24 11:15:38 +02:00
2020-10-14 19:18:39 +03:00
2020-04-18 12:33:12 +03:00
2019-06-13 16:42:21 +02:00
2021-04-22 13:56:50 -07:00
2020-01-15 18:06:24 +01:00
2019-09-01 19:17:35 +03:00
2020-10-16 09:44:03 +11:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2021-01-11 21:54:47 +01:00
2019-09-01 19:17:35 +03:00
2020-03-10 13:32:49 +02:00
2019-09-01 19:17:35 +03:00
2021-01-23 11:17:41 +11:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-08-31 18:45:14 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-02-28 19:54:08 +02:00
2021-05-20 07:55:55 +10:00
2019-04-24 16:06:54 +02:00
2019-09-01 19:17:35 +03:00
2021-04-11 02:26:59 +02:00
2020-11-30 15:02:33 +02:00
2019-09-01 19:17:35 +03:00
2021-01-27 22:13:07 +05:30
2020-07-12 20:03:32 +05:30
2020-06-25 13:03:34 +05:30
2019-04-25 09:04:09 +03:00
2019-03-15 21:00:41 +01:00
2019-09-01 19:17:35 +03:00
2019-09-23 08:26:08 +03:00
2021-05-14 16:43:36 -07:00
2021-04-11 02:26:59 +02:00
2020-10-23 15:53:41 +02:00
2020-05-27 09:56:37 +03:00
2019-10-11 18:38:18 +03:00
2019-09-01 19:17:35 +03:00
2020-03-09 13:00:33 +02:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-10-20 12:12:12 +05:30
2019-07-20 09:09:28 +02:00
2019-09-01 19:17:35 +03:00
2020-10-27 09:24:15 +01:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-07-26 13:33:51 +02:00
2021-04-27 18:21:01 +02:00
2019-09-01 19:17:35 +03:00
2020-07-29 12:34:53 +02:00
2020-10-03 00:24:53 +02:00
2020-10-23 15:53:41 +02:00
2020-12-10 08:45:20 +01:00
2020-10-28 10:56:38 +01:00
2019-10-23 15:55:23 +02:00
2019-07-12 14:29:12 +02:00
2021-01-13 16:16:13 +07:00
2019-09-01 19:17:35 +03:00
2021-05-30 17:31:55 +07:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-12-10 08:45:20 +01:00
2020-04-14 16:13:35 +03:00
2020-01-15 18:06:24 +01:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2021-01-28 20:46:13 +03:00
2019-03-12 09:51:42 +01:00
2019-07-01 13:13:35 +03:00
2020-05-27 15:56:40 +02:00
2019-02-02 17:32:15 +01:00
2019-02-03 17:22:05 +02:00
2020-03-13 14:00:03 +05:30
2019-09-01 19:17:35 +03:00
2020-01-15 18:06:24 +01:00
2020-06-10 09:34:56 +02:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2021-07-03 12:01:38 +03:00
2019-09-01 19:17:35 +03:00
2021-02-16 11:53:13 +05:30
2021-02-25 14:36:09 +07:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2020-09-24 13:58:29 +10:00
2020-01-15 18:06:24 +01:00
2020-01-15 18:06:24 +01:00
2021-05-03 17:43:52 +03:00
2021-05-03 17:43:52 +03:00
2021-05-04 09:01:55 +02:00
2021-01-11 21:54:47 +01:00
2021-01-11 21:54:47 +01:00
2021-07-02 19:21:51 +02:00
2020-01-15 18:06:24 +01:00
2020-05-19 12:54:42 +03:00
2019-03-15 21:00:41 +01:00
2019-03-12 13:10:49 +01:00
2019-10-11 14:02:35 +03:00
2020-07-12 20:03:32 +05:30
2019-09-01 19:17:35 +03:00
2021-01-11 21:54:47 +01:00
2021-04-28 11:31:18 +02:00
2019-12-08 18:28:21 +01:00
2019-12-08 18:26:16 +01:00
2019-01-25 19:57:37 +01:00
2019-09-01 19:17:35 +03:00
2019-12-08 18:26:16 +01:00
2019-03-01 12:41:05 -05:00
2020-07-10 21:27:20 +05:30
2020-01-23 10:46:21 +01:00
2020-01-23 23:26:01 +01:00
2019-04-28 12:49:59 +02:00
2019-04-28 12:49:59 +02:00
2019-09-02 17:18:04 +03:00
2019-09-01 19:17:35 +03:00
2020-07-18 10:19:13 +05:30
2020-07-29 23:27:40 +03:00
2020-01-15 18:06:24 +01:00
2021-01-12 18:47:35 +05:30
2019-09-01 19:17:35 +03:00
2021-03-08 14:54:05 +01:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2021-05-21 17:46:48 +03:00
2021-04-16 17:15:22 +03:00
2019-09-01 19:17:35 +03:00
2020-09-03 14:20:06 +04:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-02-02 13:00:15 +02:00
2019-06-08 02:28:29 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-10-25 12:57:36 +03:00
2021-03-09 00:25:28 -08:00
2020-10-14 19:18:39 +03:00
2019-09-01 19:17:35 +03:00
2020-08-25 20:47:52 +02:00
2020-06-17 11:19:50 +04:00
2019-04-29 10:36:57 +04:00
2019-03-12 13:10:49 +01:00
2019-09-01 19:17:35 +03:00
2019-05-22 16:01:39 +04:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-05-04 17:04:55 +02:00
2019-03-29 10:58:20 +01:00
2020-08-13 07:38:35 +03:00
2020-08-13 07:38:35 +03:00
2021-02-08 16:19:45 +04:00
2020-08-02 11:05:29 +02:00
2019-12-23 07:14:51 +02:00
2020-08-10 17:57:14 +03:00
2020-05-13 11:12:31 +03:00
2019-09-01 19:17:35 +03:00
2020-06-11 15:33:16 +04:00
2019-09-01 19:17:35 +03:00
2020-12-10 08:45:20 +01:00
2019-09-01 19:17:35 +03:00
2021-04-27 18:21:01 +02:00
2020-01-15 18:06:24 +01:00
2020-07-10 00:01:24 +05:30
2019-04-11 13:05:01 +05:30
2019-03-16 15:08:17 -07:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2021-01-11 21:54:47 +01:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2021-04-03 12:12:46 +02:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-09-01 19:17:35 +03:00
2019-05-04 17:04:55 +02:00
2021-02-16 11:53:13 +05:30
2020-01-15 18:06:24 +01:00
2020-07-28 06:35:32 +02:00
2021-06-09 15:52:13 +03:00
2021-05-08 18:02:34 +02:00
2019-09-01 19:17:35 +03:00