From 68feb296464335f0b0ab0f922330f3648638f9b2 Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Mon, 29 Jul 2024 14:41:09 +0200 Subject: [PATCH] rusticl/api: protect against 0 length in slice::from_raw_parts Fixes: 84d16045d03 ("rusticl/api: add param to query which contains application provided values") Part-of: (cherry picked from commit 81f75e2a2dd803676d8db46207064e5724390559) --- .pick_status.json | 2 +- src/gallium/frontends/rusticl/api/util.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index d2fe0f58076..31080cd2bda 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -134,7 +134,7 @@ "description": "rusticl/api: protect against 0 length in slice::from_raw_parts", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "84d16045d034cf34e782febea7cf7d933b730ba6", "notes": null diff --git a/src/gallium/frontends/rusticl/api/util.rs b/src/gallium/frontends/rusticl/api/util.rs index 4a6d765f17c..db2e6cf449b 100644 --- a/src/gallium/frontends/rusticl/api/util.rs +++ b/src/gallium/frontends/rusticl/api/util.rs @@ -26,7 +26,7 @@ pub trait CLInfo { param_value: *mut ::std::os::raw::c_void, param_value_size_ret: *mut usize, ) -> CLResult<()> { - let arr = if !param_value.is_null() { + let arr = if !param_value.is_null() && param_value_size != 0 { unsafe { slice::from_raw_parts(param_value.cast(), param_value_size) } } else { &[]