[PATCH 1/2] pinctrl: qcom: sa8775: Limit check for array index not correct

Andrew Goodbody andrew.goodbody at linaro.org
Thu Aug 7 13:20:01 CEST 2025


In sa8775p_get_pin_name the limit check for the index into
msm_special_pins_data allows for more elements than exist. Add code to
ensure the array index remains in bounds.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
---
 drivers/pinctrl/qcom/pinctrl-sa8775p.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-sa8775p.c b/drivers/pinctrl/qcom/pinctrl-sa8775p.c
index cb2496ff1fb..d4acae15d55 100644
--- a/drivers/pinctrl/qcom/pinctrl-sa8775p.c
+++ b/drivers/pinctrl/qcom/pinctrl-sa8775p.c
@@ -516,7 +516,9 @@ static const char *sa8775p_get_function_name(struct udevice *dev,
 static const char *sa8775p_get_pin_name(struct udevice *dev,
 					unsigned int selector)
 {
-	if (selector >= 149 && selector <= 155)
+	if (selector > 153)
+		strcpy(pin_name, "unknown");
+	else if (selector >= 149)
 		snprintf(pin_name, MAX_PIN_NAME_LEN,
 			 msm_special_pins_data[selector - 149].name);
 	else

-- 
2.39.5



More information about the U-Boot mailing list