From f04ac0ad7ed27f1aa25e47bc07a82b365b5260b4 Mon Sep 17 00:00:00 2001
From: "Kevin P. Fleming" <kpfleming@digium.com>
Date: Wed, 15 Nov 2006 00:19:35 +0000
Subject: [PATCH] Merged revisions 47641 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47641 | kpfleming | 2006-11-14 18:19:05 -0600 (Tue, 14 Nov 2006) | 2 lines

more formatting cleanup, and avoid running off the end of the string

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/term.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

diff --git a/main/term.c b/main/term.c
index bdafa49e20..940396ee36 100644
--- a/main/term.c
+++ b/main/term.c
@@ -266,28 +266,26 @@ char *term_prompt(char *outbuf, const char *inbuf, int maxout)
 
 /* filter escape sequences */
 void term_filter_escapes(char *line)
- {
-	 int i;
-   
-	 for (i = 0; i < strlen(line); i++) {
+{
+	int i;
+	int len = strlen(line);
+
+	for (i = 0; i < len; i++) {
 		if (line[i] != ESC)
 			continue;
-		if (line[i + 1] == '\x5b') {
+		if ((i < (len - 2)) &&
+		    (line[i + 1] == 0x5B)) {
 			switch (line[i + 2]) {
-		 	case '\x30':
-			case '\x31':
-			case '\x33':
-				break;
-			default:
-				/* replace ESC with a space */
-				line[i] = ' ';
+		 	case 0x30:
+			case 0x31:
+			case 0x33:
+				continue;
 			}
-		} else {
-			/* replace ESC with a space */
-			line[i] = ' ';
 		}
-	 }
- }
+		/* replace ESC with a space */
+		line[i] = ' ';
+	}
+}
 
 char *term_prep(void)
 {
-- 
GitLab