Pablo Galindo
10cd00a9e3
bpo-38395: Fix ownership in weakref.proxy methods (GH-16632)
...
The implementation of weakref.proxy's methods call back into the Python
API using a borrowed references of the weakly referenced object
(acquired via PyWeakref_GET_OBJECT). This API call may delete the last
reference to the object (either directly or via GC), leaving a dangling
pointer, which can be subsequently dereferenced.
To fix this, claim a temporary ownership of the referenced object when
calling the appropriate method. Some functions because at the moment they
do not need to access the borrowed referent, but to protect against
future changes to these functions, ownership need to be fixed in
all potentially affected methods.
2019-10-08 16:30:50 +01:00
..
2018-08-30 07:25:49 +02:00
2019-09-18 14:15:10 +02:00
2019-10-03 16:15:16 +02:00
2019-09-27 06:03:53 -07:00
2019-09-29 21:59:55 -07:00
2019-10-05 09:19:15 -07:00
2019-09-11 11:09:47 +01:00
2019-09-13 18:27:59 +01:00
2019-08-26 00:04:35 -07:00
2019-09-27 15:53:34 +01:00
2019-08-30 16:21:19 -04:00
2019-05-02 22:11:04 +02:00
2019-09-10 09:14:11 -07:00
2019-09-24 14:19:48 +02:00
2018-08-30 07:25:49 +02:00
2019-06-18 00:00:24 +02:00
2019-06-21 08:31:59 -07:00
2019-05-01 22:49:49 -04:00
2019-09-14 12:24:05 +03:00
2018-05-15 22:44:27 -04:00
2018-05-15 22:44:27 -04:00
2018-05-15 22:44:27 -04:00
2018-05-15 22:44:27 -04:00
2019-09-19 14:34:41 +01:00
2019-08-25 23:45:40 +10:00
2018-08-14 12:54:19 +02:00
2018-08-30 07:25:49 +02:00
2019-04-29 13:36:57 +01:00
2019-04-29 13:36:57 +01:00
2018-08-30 07:25:49 +02:00
2018-08-30 07:25:49 +02:00
2018-08-30 07:25:49 +02:00
2019-09-25 08:55:02 -07:00
2018-08-30 07:25:49 +02:00
2018-08-30 07:25:49 +02:00
2019-08-04 14:12:48 +03:00
2019-09-01 12:16:51 +03:00
2019-09-25 08:55:02 -07:00
2019-06-06 03:13:08 -07:00
2018-12-17 16:52:45 +02:00
2019-07-30 12:08:17 -07:00
2018-08-30 07:25:49 +02:00
2018-08-30 07:25:49 +02:00
2019-10-02 17:52:35 +02:00
2019-09-11 17:02:34 +01:00
2019-07-14 19:31:12 +02:00
2018-08-30 07:25:49 +02:00
2019-05-08 09:35:09 -07:00
2019-08-04 14:12:48 +03:00
2018-12-11 11:32:12 +00:00
2018-08-30 07:25:49 +02:00
2019-09-25 08:55:02 -07:00
2018-08-30 07:25:49 +02:00
2019-05-17 10:13:03 +03:00
2019-01-15 14:47:42 -08:00
2019-05-27 12:56:22 -07:00
2018-09-18 09:54:26 +03:00
2018-12-19 18:19:01 +01:00
2019-09-25 18:35:57 +03:00
2019-09-11 17:29:44 +02:00
2019-06-18 00:00:24 +02:00
2019-09-13 11:17:43 +01:00
2019-05-17 10:13:03 +03:00
2019-01-31 12:40:27 +01:00
2019-09-09 19:33:13 +03:00
2019-09-29 22:59:11 -07:00
2019-07-01 18:28:25 +02:00
2018-12-17 09:36:36 +01:00
2019-07-01 18:28:25 +02:00
2018-07-24 12:52:51 +03:00
2019-03-12 20:57:09 -07:00
2019-09-09 08:20:40 -07:00
2018-12-20 09:34:51 +02:00
2019-05-29 11:46:58 -07:00
2019-03-05 10:06:26 +02:00
2019-03-05 10:06:26 +02:00
2019-08-20 21:53:59 -07:00
2019-09-20 21:28:49 -07:00
2019-09-09 09:28:34 -07:00
2019-07-30 11:08:18 -07:00
2019-07-02 12:48:28 +02:00
2019-09-10 04:21:09 -07:00
2019-10-07 18:42:01 +02:00
2019-09-11 12:05:53 +01:00
2018-04-29 20:48:33 +03:00
2019-09-12 10:51:00 +01:00
2019-02-19 23:23:48 +10:00
2019-09-11 19:49:45 +01:00
2019-07-01 18:28:25 +02:00
2019-08-30 16:21:19 -04:00
2019-07-01 18:28:25 +02:00
2019-06-01 18:08:04 +01:00
2019-07-01 18:28:25 +02:00
2019-09-09 07:50:36 -07:00
2018-06-26 02:11:06 +02:00
2019-08-30 16:21:19 -04:00
2019-08-08 08:43:18 +03:00
2019-07-15 02:15:01 -07:00
2019-09-26 15:16:32 +02:00
2019-06-02 00:05:48 +03:00
2019-07-08 10:49:11 +02:00
2018-06-12 13:37:51 -07:00
2019-08-08 08:43:18 +03:00
2018-06-28 13:20:29 -04:00
2019-06-05 18:22:31 +03:00
2019-06-05 18:22:31 +03:00
2019-06-03 03:51:43 +02:00
2019-07-01 18:28:25 +02:00
2019-08-13 14:27:34 -07:00
2019-05-10 03:50:11 +02:00
2018-10-30 13:22:42 +02:00
2019-08-20 21:53:59 -07:00
2019-03-05 10:05:57 +02:00
2018-12-12 20:46:55 +08:00
2018-12-12 20:46:55 +08:00
2018-06-19 13:31:48 +03:00
2018-11-05 16:20:25 +02:00
2019-08-24 15:37:25 -07:00
2018-09-21 01:46:41 -07:00
2019-09-10 04:21:57 -07:00
2019-09-11 14:42:04 +01:00
2019-08-08 08:43:18 +03:00
2019-04-02 18:30:10 +09:00
2019-06-22 07:40:55 -07:00
2019-10-06 14:28:33 +03:00
2019-08-21 13:59:25 -05:00
2019-09-12 10:02:59 +01:00
2019-07-30 18:16:13 -04:00
2019-09-27 21:59:37 +02:00
2019-07-21 16:12:33 -04:00
2019-09-30 01:40:17 +02:00
2019-08-08 08:43:18 +03:00
2018-11-06 09:38:54 +09:00
2019-05-18 11:27:16 -07:00
2019-04-09 00:34:02 +02:00
2018-12-17 16:43:14 +02:00
2019-08-25 12:44:09 +03:00
2019-08-16 03:41:27 -07:00
2019-09-18 14:15:10 +02:00
2019-08-28 22:06:49 -07:00
2018-10-20 02:22:31 +02:00
2019-05-20 23:44:11 +03:00
2019-05-23 08:45:22 -07:00
2019-06-02 00:05:48 +03:00
2018-07-23 23:41:11 +03:00
2019-07-01 18:28:25 +02:00
2019-08-30 16:21:19 -04:00
2019-08-11 14:40:59 -07:00
2018-12-17 16:52:45 +02:00
2018-11-16 17:32:58 +02:00
2019-08-10 00:19:07 -07:00
2019-04-09 00:34:02 +02:00
2019-02-07 19:36:48 +00:00
2019-06-05 18:22:31 +03:00
2018-12-12 18:38:34 +01:00
2019-05-29 03:55:44 -04:00
2019-10-07 18:42:01 +02:00
2019-09-26 16:54:13 +02:00
2019-07-01 18:28:25 +02:00
2019-04-22 11:51:06 -07:00
2018-12-14 13:37:26 +01:00
2018-11-20 19:27:16 +02:00
2019-06-02 00:05:48 +03:00
2019-07-01 18:28:25 +02:00
2019-09-12 13:54:48 +01:00
2018-09-24 14:12:49 -07:00
2019-08-24 13:11:52 +03:00
2019-05-13 10:50:52 +03:00
2019-09-27 06:03:53 -07:00
2019-08-23 22:31:22 -07:00
2019-09-27 06:03:53 -07:00
2019-08-27 11:48:06 +09:00
2019-09-13 04:29:00 -07:00
2018-04-23 02:48:11 +03:00
2019-09-28 08:32:01 -04:00
2019-09-11 14:03:46 +01:00
2018-05-22 13:24:04 -04:00
2019-09-25 07:30:20 -07:00
2019-02-04 16:56:26 -08:00
2019-06-02 00:05:48 +03:00
2019-09-14 12:24:05 +03:00
2019-06-02 00:05:48 +03:00
2019-06-26 00:51:05 +02:00
2019-09-01 12:16:51 +03:00
2019-09-12 10:03:31 +01:00
2019-08-04 14:12:48 +03:00
2019-09-09 11:47:14 +03:00
2019-03-25 22:01:12 +00:00
2019-04-09 00:34:02 +02:00
2019-09-30 12:51:55 +08:00
2019-09-08 13:15:56 +03:00
2018-07-31 22:55:14 +02:00
2019-08-29 00:33:52 -04:00
2019-09-22 03:51:51 +01:00
2018-10-19 23:46:31 +02:00
2019-09-12 15:20:37 +01:00
2019-07-30 18:16:13 -04:00
2019-06-02 09:03:59 +03:00
2019-07-27 14:04:29 -07:00
2018-04-14 19:49:21 +02:00
2019-09-04 17:34:35 -07:00
2019-03-27 07:58:49 +02:00
2019-05-27 10:57:23 -07:00
2019-04-07 18:00:41 +10:00
2019-06-02 21:36:21 +01:00
2018-11-02 12:29:40 +09:00
2018-12-11 11:31:16 +00:00
2018-12-11 11:31:16 +00:00
2018-12-18 23:54:33 +01:00
2019-08-25 23:45:40 +10:00
2019-03-12 08:39:57 -07:00
2019-05-06 17:54:06 -04:00
2019-10-03 08:31:03 -07:00
2019-01-13 13:05:13 +09:00
2019-01-07 09:38:41 -07:00
2019-09-01 12:16:51 +03:00
2019-09-12 13:54:48 +01:00
2018-12-17 09:36:36 +01:00
2019-08-08 14:48:00 -07:00
2019-09-12 13:54:48 +01:00
2019-09-09 05:45:58 -05:00
2019-09-28 07:49:15 -07:00
2019-06-13 13:58:51 +02:00
2019-07-01 18:28:25 +02:00
2019-05-26 17:10:09 +02:00
2019-03-05 10:06:26 +02:00
2018-09-12 17:58:40 -07:00
2019-07-01 18:28:25 +02:00
2019-09-05 10:11:35 +02:00
2019-03-05 10:06:26 +02:00
2019-09-25 07:30:20 -07:00
2019-06-01 18:08:04 +01:00
2019-06-27 09:10:57 -07:00
2019-07-01 18:28:25 +02:00
2019-06-02 10:24:06 +01:00
2019-07-30 18:16:13 -04:00
2018-11-05 22:03:46 +10:00
2019-08-24 15:37:25 -07:00
2018-09-23 00:50:25 -07:00
2019-05-28 19:29:04 +03:00
2019-07-01 18:28:25 +02:00
2019-07-01 18:28:25 +02:00
2019-09-01 12:11:43 +03:00
2019-06-25 02:53:30 +01:00
2019-06-03 03:51:43 +02:00
2019-09-12 11:13:20 +03:00
2019-08-08 08:43:18 +03:00
2019-05-31 10:39:47 +03:00
2019-10-03 16:15:16 +02:00
2019-04-17 17:41:33 +02:00
2019-07-02 14:50:19 +02:00
2019-07-01 18:28:25 +02:00
2019-07-02 14:50:19 +02:00
2018-07-04 12:10:15 +02:00
2019-03-05 10:06:26 +02:00
2018-05-16 17:50:29 -04:00
2019-06-11 01:15:24 -07:00
2019-03-05 10:06:26 +02:00
2019-09-11 12:04:04 +01:00
2019-09-30 19:41:16 -07:00
2019-07-01 18:28:25 +02:00
2019-05-05 18:06:30 +09:00
2019-09-25 07:30:20 -07:00
2019-09-12 11:02:48 +01:00
2019-03-05 10:06:26 +02:00
2019-03-25 00:25:37 -07:00
2019-09-11 14:57:32 +01:00
2018-09-06 11:43:30 -07:00
2019-09-26 18:23:17 +02:00
2019-04-25 18:36:45 +00:00
2019-05-03 08:09:17 -07:00
2019-09-08 16:57:58 -07:00
2019-08-10 00:19:07 -07:00
2019-07-18 15:56:59 +02:00
2019-09-10 03:18:37 -07:00
2019-09-25 15:52:49 +02:00
2019-06-18 00:00:24 +02:00
2019-04-25 18:36:45 +00:00
2018-05-20 08:48:12 +03:00
2019-05-29 02:33:59 -07:00
2019-01-22 10:49:52 -08:00
2019-05-28 16:21:17 -07:00
2019-07-15 02:15:01 -07:00
2019-05-22 22:05:02 +12:00
2019-07-15 02:15:01 -07:00
2019-07-01 18:28:25 +02:00
2019-06-29 10:34:11 -07:00
2019-07-01 18:28:25 +02:00
2019-09-25 07:30:20 -07:00
2019-10-08 14:31:35 +03:00
2019-09-09 10:54:34 -05:00
2019-06-03 03:51:43 +02:00
2019-07-01 18:28:25 +02:00
2019-01-06 23:10:55 +01:00
2019-08-20 00:47:07 +01:00
2018-12-17 09:36:36 +01:00
2019-07-18 15:56:59 +02:00
2019-09-01 12:12:52 +03:00
2019-01-24 16:49:56 -07:00
2019-07-30 18:16:13 -04:00
2019-08-08 08:42:54 +03:00
2019-08-30 16:21:19 -04:00
2019-02-19 13:49:09 +02:00
2019-07-30 18:16:13 -04:00
2019-06-12 02:52:16 +02:00
2019-07-30 18:16:13 -04:00
2019-10-08 16:29:52 +03:00
2019-09-10 10:29:26 +01:00
2019-09-01 12:16:51 +03:00
2019-09-12 10:25:25 +01:00
2019-08-16 03:41:27 -07:00
2019-09-25 07:30:20 -07:00
2019-09-13 15:07:07 +01:00
2019-07-02 14:50:19 +02:00
2019-09-13 12:40:07 +01:00
2019-09-13 12:40:07 +01:00
2019-07-02 14:50:19 +02:00
2019-06-04 17:55:29 +02:00
2019-06-05 18:22:31 +03:00
2019-05-07 17:41:06 -04:00
2019-08-27 21:38:09 -07:00
2019-04-22 11:46:27 -07:00
2019-01-17 17:15:53 +03:00
2019-09-26 22:43:15 +03:00
2019-09-11 07:58:56 -07:00
2019-09-09 08:48:32 -07:00
2019-06-18 00:00:24 +02:00
2019-10-08 16:30:50 +01:00
2019-05-20 10:01:07 -07:00
2018-11-26 23:29:45 +02:00
2019-07-03 11:09:56 +02:00
2019-09-09 02:26:15 -07:00
2019-08-30 16:21:19 -04:00
2018-12-18 22:29:14 +02:00
2019-09-10 16:22:01 +01:00
2019-08-08 08:42:54 +03:00
2019-06-29 22:54:42 -07:00
2019-06-03 03:51:43 +02:00
2019-03-05 10:05:57 +02:00
2019-09-12 15:13:44 +01:00
2019-03-05 10:06:26 +02:00
2019-03-05 10:06:26 +02:00
2019-02-25 17:57:58 +02:00
2018-12-17 11:30:34 +01:00