Skip to content

Commit 5a9b30f

Browse files
fix(core): panic on overflow for set_immediate's params. not coercing to usize
1 parent 8bfce4b commit 5a9b30f

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

wgpu-core/src/command/pass.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,8 @@ where
240240

241241
pipeline_layout.validate_immediates_ranges(offset, size_bytes)?;
242242

243-
let values_offset_usize = values_offset as usize;
243+
let values_offset_usize = usize::try_from(values_offset)
244+
.expect("`values_offset` is outside the bounds of `usize` (!?)");
244245
if values_offset_usize > immediates_data.len() {
245246
return Err(ImmediateUploadError::ValueStartIndexOverrun {
246247
start_index: values_offset,
@@ -251,7 +252,8 @@ where
251252

252253
// NOTE: The `validate_immediates_ranges` call above validates `size_bytes` is aligned.
253254
let size_immediate_elements = size_bytes / wgt::IMMEDIATE_DATA_ALIGNMENT;
254-
let size_immediate_elements_usize = size_immediate_elements as usize;
255+
let size_immediate_elements_usize = usize::try_from(size_immediate_elements)
256+
.expect("`size_immediate_elements` is outside the bounds of `usize` (!?)");
255257
if size_immediate_elements_usize > immediates_data.len() - values_offset_usize {
256258
return Err(ImmediateUploadError::ValueEndIndexOverrun {
257259
start_index: values_offset,

0 commit comments

Comments
 (0)