summary refs log tree commit diff stats
path: root/src/common
diff options
context:
space:
mode:
authorRichardHitt <rbh00@netcom.com>2013-03-23 13:08:49 -0700
committerRichardHitt <rbh00@netcom.com>2013-03-23 13:08:49 -0700
commitf7923f2a02452153614e17143b8e82bec4475ad7 (patch)
treea69d4b845d4f1e24c1ab2daa3ec96b9cb14c7e1d /src/common
parentc6ead740c8795dd9afea46ad392c153fbe47c675 (diff)
Truncate text if too long. Closes Issue #463
Diffstat (limited to 'src/common')
-rw-r--r--src/common/text.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/common/text.c b/src/common/text.c
index 5c4fb3ca..33ef3c9e 100644
--- a/src/common/text.c
+++ b/src/common/text.c
@@ -1780,6 +1780,8 @@ format_event (session *sess, int index, char **args, char *o, int sizeofo, unsig
 				printf ("arg[%d] is NULL in print event\n", a + 1);
 			} else
 			{
+				if (strlen (ar) > sizeofo - oi - 4)
+					ar[sizeofo - oi - 4] = 0;	/* Avoid buffer overflow */
 				if (stripcolor_args & ARG_FLAG(a + 1)) len = strip_color2 (ar, -1, &o[oi], STRIP_ALL);
 				else len = strip_hidden_attribute (ar, &o[oi]);
 				oi += len;