git: 9front

Download patch

ref: a73fea1cc9d0292727ce9af4226e04059f9a4a4f
parent: ae0d08242182fb62a2f7590b3a2f193aa363417f
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Sep 29 09:58:08 EDT 2018

5i ki qi vi: avoid buffer overflow in command read loop

--- a/sys/src/cmd/5i/cmd.c
+++ b/sys/src/cmd/5i/cmd.c
@@ -571,7 +571,7 @@
 		Bflush(bioout);
 		p = buf;
 		n = 0;
-		for(;;) {
+		while(n < sizeof(buf)) {
 			i = Bgetc(bin);
 			if(i < 0)
 				exits(0);
--- a/sys/src/cmd/ki/cmd.c
+++ b/sys/src/cmd/ki/cmd.c
@@ -568,7 +568,7 @@
 		Bflush(bioout);
 		p = buf;
 		n = 0;
-		for(;;) {
+		while(n < sizeof(buf)) {
 			i = Bgetc(bin);
 			if(i < 0)
 				exits(0);
--- a/sys/src/cmd/qi/cmd.c
+++ b/sys/src/cmd/qi/cmd.c
@@ -580,7 +580,7 @@
 		Bflush(bioout);
 		p = buf;
 		n = 0;
-		for(;;) {
+		while(n < sizeof(buf)) {
 			i = Bgetc(bin);
 			if(i < 0)
 				exits(0);
--- a/sys/src/cmd/vi/cmd.c
+++ b/sys/src/cmd/vi/cmd.c
@@ -585,7 +585,7 @@
 		Bflush(bioout);
 		p = buf;
 		n = 0;
-		for(;;) {
+		while(n < sizeof(buf)) {
 			i = Bgetc(bin);
 			if(i < 0)
 				exits(0);
--