Stranger6667
jsonschema
BlogDocsChangelog

fix: Use-after-free in async `$ref` resolution when multiple refs target the same external URL with different fragments

#921Merged
Comparing
dd/fix-panic-2
(
26cf72a
) with
master
(
f4bdaa0
)
CodSpeed Performance Gauge
0%
Untouched
61

Benchmarks

Passed

is_valid[Fast/Invalid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
+3%
891.9 ns862.8 ns
resolve[small]
crates/jsonschema-referencing/benches/anchor.rs::benches::bench_anchor_lookup::Anchor Lookup
CodSpeed Performance Gauge
+3%
2.7 µs2.6 µs
build[Open API]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
+2%
7.5 ms7.3 ms
validate[Fast/Invalid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
+1%
4 µs4 µs
evaluate[Fast/Valid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
+1%
40 µs39.5 µs
build[Swagger]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
+1%
6.6 ms6.5 ms
try_with_resource[Open API]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry
CodSpeed Performance Gauge
+1%
316.9 µs314 µs
evaluate[Fast/Invalid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
+1%
41.7 µs41.4 µs
validate[Fast/Valid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
+1%
7.4 µs7.3 µs
evaluate[unevaluated_properties]
crates/jsonschema/benches/unevaluated_properties.rs::benches::run_benchmarks
CodSpeed Performance Gauge
+1%
160.2 µs159 µs
try_with_resource[Fast]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry
CodSpeed Performance Gauge
0%
26.6 µs26.5 µs
is_valid[Swagger/Kubernetes]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
20.9 ms20.9 ms
build[FHIR]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
211.4 ms211.1 ms
validate[FHIR/Fhir]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
147.9 µs147.7 µs
try_with_resource[Swagger]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry
CodSpeed Performance Gauge
0%
373.2 µs372.7 µs
is_valid[FHIR/Fhir]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
147.8 µs147.6 µs
evaluate[unevaluated_items]
crates/jsonschema/benches/unevaluated_items.rs::benches::run_benchmarks
CodSpeed Performance Gauge
0%
101.7 µs101.6 µs
try_new[draft 4]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry
CodSpeed Performance Gauge
0%
29.1 µs29 µs
build[unevaluated_properties]
crates/jsonschema/benches/unevaluated_properties.rs::benches::run_benchmarks
CodSpeed Performance Gauge
0%
928.7 µs927.6 µs
validate[Open API/Zuora]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
20.4 ms20.4 ms
build[Fast]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
176.9 µs176.9 µs
try_new[draft 2020-12]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry
CodSpeed Performance Gauge
0%
30.7 µs30.7 µs
evaluate[Open API/Zuora]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
678.2 ms678.1 ms
try_new[draft 2019-09]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry
CodSpeed Performance Gauge
0%
30.5 µs30.5 µs
evaluate[Swagger/Kubernetes]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
1 s1 s
pointer[single]
crates/jsonschema-referencing/benches/pointer.rs::benches::bench_pointers::JSON Pointer
CodSpeed Performance Gauge
0%
4.7 µs4.7 µs
is_valid[Fast/Valid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
6.4 µs6.4 µs
try_new[draft 6]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry
CodSpeed Performance Gauge
0%
29.7 µs29.7 µs
is_valid[Open API/Zuora]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
20.2 ms20.2 ms
try_new[draft 7]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry
CodSpeed Performance Gauge
0%
31.9 µs31.9 µs
evaluate[CITM/Catalog]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
97.1 ms97.1 ms
evaluate[FHIR/Fhir]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
8.7 ms8.7 ms
validate[Swagger/Kubernetes]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
21.9 ms21.9 ms
is_valid[CITM/Catalog]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
4.8 ms4.9 ms
evaluate[GeoJSON/Canada]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
3.2 s3.2 s
validate[CITM/Catalog]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
0%
5.6 ms5.6 ms
is_valid[unevaluated_properties]
crates/jsonschema/benches/unevaluated_properties.rs::benches::run_benchmarks
CodSpeed Performance Gauge
0%
60.9 µs61 µs
validate[unevaluated_properties]
crates/jsonschema/benches/unevaluated_properties.rs::benches::run_benchmarks
CodSpeed Performance Gauge
0%
64.5 µs64.6 µs
pointer[long]
crates/jsonschema-referencing/benches/pointer.rs::benches::bench_pointers::JSON Pointer
CodSpeed Performance Gauge
0%
12.9 µs12.9 µs
iter_errors[unevaluated_properties]
crates/jsonschema/benches/unevaluated_properties.rs::benches::run_benchmarks
CodSpeed Performance Gauge
0%
67.7 µs67.9 µs
try_with_resource[GeoJSON]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry
CodSpeed Performance Gauge
0%
76.1 µs76.4 µs
build[unevaluated_items]
crates/jsonschema/benches/unevaluated_items.rs::benches::run_benchmarks
CodSpeed Performance Gauge
0%
316.5 µs317.7 µs
validate[unevaluated_items]
crates/jsonschema/benches/unevaluated_items.rs::benches::run_benchmarks
CodSpeed Performance Gauge
0%
12 µs12.1 µs
pointer[double]
crates/jsonschema-referencing/benches/pointer.rs::benches::bench_pointers::JSON Pointer
CodSpeed Performance Gauge
-1%
5.8 µs5.8 µs
build[CITM]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
-1%
424.1 µs426.3 µs
is_valid[unevaluated_items]
crates/jsonschema/benches/unevaluated_items.rs::benches::run_benchmarks
CodSpeed Performance Gauge
-1%
10.7 µs10.8 µs
build[GeoJSON]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
-1%
1.3 ms1.3 ms
iter_errors[unevaluated_items]
crates/jsonschema/benches/unevaluated_items.rs::benches::run_benchmarks
CodSpeed Performance Gauge
-1%
14.2 µs14.3 µs
subresources_of[Swagger]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources
CodSpeed Performance Gauge
-1%
4.9 µs5 µs
subresources_of[Open API]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources
CodSpeed Performance Gauge
-2%
3.8 µs3.9 µs
subresources_of[draft 2020-12]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources
CodSpeed Performance Gauge
-2%
3.8 µs3.8 µs
subresources_of[draft 2019-09]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources
CodSpeed Performance Gauge
-2%
3.7 µs3.7 µs
subresources_of[draft 7]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources
CodSpeed Performance Gauge
-2%
3.4 µs3.5 µs
subresources_of[draft 6]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources
CodSpeed Performance Gauge
-2%
3.2 µs3.3 µs
subresources_of[draft 4]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources
CodSpeed Performance Gauge
-2%
3.2 µs3.2 µs
try_with_resource[CITM]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry
CodSpeed Performance Gauge
-3%
43.2 µs44.3 µs
is_valid[GeoJSON/Canada]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
-3%
10.5 ms10.8 ms
validate[GeoJSON/Canada]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks
CodSpeed Performance Gauge
-3%
10.5 ms10.8 ms
subresources_of[GeoJSON]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources
CodSpeed Performance Gauge
-3%
1.8 µs1.9 µs
subresources_of[CITM]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources
CodSpeed Performance Gauge
-3%
1.7 µs1.8 µs
subresources_of[Fast]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources
CodSpeed Performance Gauge
-4%
1.4 µs1.5 µs

Commits

Click on a commit to change the comparison range
Base
master
f4bdaa0
-0.31%
fix: Use-after-free in async `$ref` resolution when multiple refs target the same external URL with different fragments Signed-off-by: Dmitry Dygalo <dmitry@dygalo.dev>
26cf72a
11 hours ago
by Stranger6667
© 2025 CodSpeed Technology
Home Terms Privacy Docs