Aram Sargsyan
058a2e7d44
Fix a race between resolver query timeout and validation
...
The `resolver.c:validated()` function unlinks the current validator from
the fetch's validators list, which can leave it empty, then unlocks
the bucket lock. If, by a chance, the fetch was timed out just before
the `validated()` call, the final timeout callback running in parallel
with `validated()` can find the fetch context with no active fetches
and with an empty validators list and destroy it, which is unexpected
for the `validated()` function and can lead to a crash.
Increase the fetch context's reference count in the beginning of
`validated()` and decrease it when it finishes its work to avoid the
unexpected destruction of the fetch context.
2022-06-30 18:58:58 +00:00
..
2022-06-16 18:11:03 +02:00
2022-03-25 09:37:18 +01:00
2022-06-16 18:11:03 +02:00
2022-05-16 18:31:55 +02:00
2022-03-25 09:33:51 +01:00
2022-05-14 00:52:22 -07:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2022-06-07 09:59:32 +00:00
2022-03-28 23:28:05 +02:00
2022-01-27 16:08:57 -08:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:33:51 +01:00
2022-03-28 23:28:05 +02:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:33:51 +01:00
2022-04-13 15:13:12 +02:00
2022-03-25 09:33:51 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:33:51 +01:00
2022-05-23 12:31:23 +02:00
2022-05-16 10:35:33 +02:00
2022-03-02 09:34:29 +00:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:33:51 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-03-18 17:21:57 +00:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-05-16 10:35:33 +02:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2021-08-28 07:45:39 -07:00
2022-04-01 21:42:53 +11:00
2022-03-25 09:33:51 +01:00
2022-06-02 08:29:28 +10:00
2022-03-25 09:37:22 +01:00
2022-04-19 09:45:16 +10:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-03-02 09:34:29 +00:00
2022-03-25 09:33:51 +01:00
2022-03-17 18:31:36 +01:00
2022-03-25 09:33:51 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:33:51 +01:00
2022-01-11 12:22:09 +01:00
2022-03-28 23:28:05 +02:00
2022-03-28 23:28:05 +02:00
2022-03-28 23:28:05 +02:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-04-29 11:46:33 +10:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:37:18 +01:00
2022-06-30 18:58:58 +00:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:30:16 +01:00
2022-05-04 23:53:21 +10:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:33:51 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:22 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:33:51 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-03-25 09:33:51 +01:00
2022-01-11 12:22:09 +01:00
2022-06-14 12:07:39 +10:00
2022-01-11 12:22:09 +01:00
2022-03-25 09:37:18 +01:00
2022-01-11 12:22:09 +01:00