Johannes Kron
b6b782da68
Fix potential unsafe access to VCMTimestampMap::data
...
The access to |_timestampMap| was guarded by a lock but
not the access to the data pointer stored in |_timestampMap|.
There was a potential race condition if new data was added
in VCMGenericDecoder::Decode() while the data pointer
retrieved from _timestampMap.Pop() was being used in
VCMDecodedFrameCallback::Decoded().
This CL moves the storage of data to within |_timestampMap|,
instead of being a pointer so that it's guarded by the same
lock.
Bug: webrtc:11229
Change-Id: I3f2afb568ed724db5719d508a73de402c4531dec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209361
Commit-Queue: Johannes Kron <kron@webrtc.org >
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#33374}
2021-03-03 14:21:17 +00:00
..
2021-03-03 13:56:17 +00:00
2021-02-22 12:53:23 +00:00
2021-02-22 12:53:23 +00:00
2021-02-19 10:27:23 +00:00
2019-09-24 08:22:38 +00:00
2021-02-15 14:42:02 +00:00
2021-03-03 14:21:17 +00:00
2020-05-18 14:22:44 +00:00
2020-05-18 14:22:44 +00:00
2020-05-18 14:22:44 +00:00
2019-09-24 08:22:38 +00:00
2021-02-19 12:08:49 +00:00
2021-02-19 12:08:49 +00:00
2019-07-08 13:45:15 +00:00
2020-01-14 14:47:48 +00:00
2020-02-28 16:59:10 +00:00
2020-10-28 16:00:27 +00:00
2020-12-09 09:45:50 +00:00
2020-03-06 08:39:35 +00:00
2020-03-06 08:39:35 +00:00
2020-07-07 11:41:21 +00:00
2020-07-07 11:41:21 +00:00
2019-07-08 13:45:15 +00:00
2021-02-15 14:42:02 +00:00
2021-02-15 14:42:02 +00:00
2021-02-15 14:42:02 +00:00
2020-10-28 16:00:27 +00:00
2019-09-30 09:48:26 +00:00
2020-11-23 10:52:06 +00:00
2020-11-23 10:52:06 +00:00
2020-11-23 10:52:06 +00:00
2020-10-28 16:00:27 +00:00
2020-09-28 13:51:51 +00:00
2020-10-26 15:03:56 +00:00
2021-03-03 14:21:17 +00:00
2021-03-03 14:21:17 +00:00
2019-04-09 17:18:20 +00:00
2019-07-08 13:45:15 +00:00
2019-12-03 14:55:54 +00:00
2020-06-24 21:54:45 +00:00
2019-12-03 14:55:54 +00:00
2019-07-08 13:45:15 +00:00
2019-04-03 07:35:28 +00:00
2019-04-03 07:35:28 +00:00
2019-01-28 10:31:40 +00:00
2019-07-08 13:45:15 +00:00
2019-07-08 13:45:15 +00:00
2020-10-28 16:00:27 +00:00
2020-07-07 11:41:21 +00:00
2020-05-19 11:51:29 +00:00
2020-05-19 11:51:29 +00:00
2020-05-19 11:51:29 +00:00
2020-01-24 11:53:28 +00:00
2020-01-24 11:53:28 +00:00
2021-02-10 15:04:55 +00:00
2019-11-04 13:50:59 +00:00
2019-11-04 13:50:59 +00:00
2020-05-27 14:20:34 +00:00
2020-05-27 14:20:34 +00:00
2021-02-10 15:04:55 +00:00
2020-05-30 16:34:44 +00:00
2020-02-19 14:05:46 +00:00
2020-08-07 10:32:41 +00:00
2020-08-07 10:32:41 +00:00
2020-08-31 08:19:29 +00:00
2019-06-20 10:24:29 +00:00
2019-06-20 10:24:29 +00:00
2020-03-06 08:39:35 +00:00
2020-10-28 16:00:27 +00:00
2020-07-16 13:52:28 +00:00
2021-02-15 14:42:02 +00:00
2020-11-27 17:59:28 +00:00
2021-03-01 17:23:38 +00:00
2021-02-15 14:42:02 +00:00
2020-11-27 17:59:28 +00:00
2021-02-15 14:42:02 +00:00
2020-11-27 17:59:28 +00:00
2021-02-15 14:42:02 +00:00
2020-11-27 17:59:28 +00:00
2021-03-01 17:23:38 +00:00
2021-02-15 14:42:02 +00:00
2020-11-27 17:59:28 +00:00
2021-02-15 14:42:02 +00:00
2021-02-15 14:42:02 +00:00
2020-12-09 09:45:50 +00:00
2019-09-24 08:22:38 +00:00
2020-06-15 11:18:00 +00:00
2019-07-08 13:45:15 +00:00
2021-03-03 14:21:17 +00:00
2021-03-03 14:21:17 +00:00
2019-07-08 13:45:15 +00:00
2020-11-02 11:49:46 +00:00
2020-11-02 11:49:46 +00:00
2019-10-30 15:27:48 +00:00
2019-10-30 15:27:48 +00:00
2019-10-30 15:27:48 +00:00
2020-09-22 16:09:53 +00:00
2020-12-30 16:45:03 +00:00
2019-08-27 07:43:01 +00:00
2021-02-10 15:04:55 +00:00
2021-02-10 15:04:55 +00:00
2021-02-19 12:08:49 +00:00
2021-02-19 12:08:49 +00:00
2020-08-11 14:20:59 +00:00
2021-02-10 15:04:55 +00:00