lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 14 Mar 2015 14:46:22 +0200
From:	Ameen Ali <ameenali023@...il.com>
To:	jslaby@...e.cz, tiwai@...e.de, joe@...ches.com
Cc:	linux-kernel@...r.kernel.org, Ameen Ali <ameenali023@...il.com>
Subject: [PATCH 14/14] drivers/tty/vt/vt.c : access out-of-bounds

make sure that out-of-bounds never happens

Signed-off-by : Ameen Ali <AmeenAli023@...il.com>
---
 drivers/tty/vt/vt.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 6e00572..cf73e92 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -1364,13 +1364,13 @@ static void csi_m(struct vc_data *vc)
 				i++;
 				if (i > vc->vc_npar)
 					break;
-				if (vc->vc_par[i] == 5 &&  /* 256 colours */
-				    i < vc->vc_npar) {     /* ubiquitous */
+				if (i < vc->vc_npar &&  /* 256 colours */
+				    vc->vc_par[i] == 5) {     /* ubiquitous */
 					i++;
 					rgb_foreground(vc,
 						rgb_from_256(vc->vc_par[i]));
-				} else if (vc->vc_par[i] == 2 &&  /* 24 bit */
-				           i <= vc->vc_npar + 3) {/* extremely rare */
+				} else if (i <= vc->vc_npar + 3 &&  /* 24 bit */
+				           vc->vc_par[i] == 2) {/* extremely rare */
 					struct rgb c = {
 						.r = vc->vc_par[i + 1],
 						.g = vc->vc_par[i + 2],
@@ -1387,13 +1387,13 @@ static void csi_m(struct vc_data *vc)
 				i++;
 				if (i > vc->vc_npar)
 					break;
-				if (vc->vc_par[i] == 5 &&  /* 256 colours */
-				    i < vc->vc_npar) {
+				if (i < vc->vc_npar &&  /* 256 colours */
+				   vc->vc_par[i] == 5) {
 					i++;
 					rgb_background(vc,
 						rgb_from_256(vc->vc_par[i]));
-				} else if (vc->vc_par[i] == 2 && /* 24 bit */
-				           i <= vc->vc_npar + 3) {
+				} else if (i <= vc->vc_npar + 3 && /* 24 bit */
+				          vc->vc_par[i] == 2  ) {
 					struct rgb c = {
 						.r = vc->vc_par[i + 1],
 						.g = vc->vc_par[i + 2],
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ