Fix potential buffer underflow

When the string 'name' start with a '-' ptr == name and so --ptr will
underflow, this patch corrected this by checking ptr before decrementing.
>From 5786040323bd1dc3149fb4afbea9f01e2bf4cfdf Mon Sep 17 00:00:00 2001
From: Hugues Morisset <morisset.hug...@gmail.com>
Date: Mon, 8 Sep 2014 22:59:04 +0200
Subject: [PATCH 4/4] staging: lustre: Fix potential buffer underflow

Signed-off-by: Hugues Morisset <morisset.hug...@gmail.com>
---
 drivers/staging/lustre/lustre/include/obd.h | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/include/obd.h b/drivers/staging/lustre/lustre/include/obd.h
index 409eae6..bb67e40 100644
--- a/drivers/staging/lustre/lustre/include/obd.h
+++ b/drivers/staging/lustre/lustre/include/obd.h
@@ -677,7 +677,12 @@ static inline int is_osp_on_mdt(char *name)
 	if (strncmp(ptr + 1, "MDT", 3) != 0)
 		return 0;
 
-	while (*(--ptr) != '-' && ptr != name);
+	if (ptr == name)
+		return 0;
+
+	--ptr;
+	while (ptr != '-' && ptr != name)
+		--ptr;
 
 	if (ptr == name)
 		return 0;
-- 
2.1.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to