From b8bccb4ac5222a01ecd6a5f82997ea2ee3b84b8b Mon Sep 17 00:00:00 2001
From: "Anselm R. Garbe" <arg@suckless.org>
Date: Thu, 10 May 2007 13:47:44 +0200
Subject: fixed a potential security flaw

---
 client.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

(limited to 'client.c')

diff --git a/client.c b/client.c
index 03d158f..64da343 100644
--- a/client.c
+++ b/client.c
@@ -365,16 +365,18 @@ updatetitle(Client *c) {
 		XGetWMName(dpy, c->win, &name);
 	if(!name.nitems)
 		return;
-	if(name.encoding == XA_STRING)
-		strncpy(c->name, (char *)name.value, sizeof c->name);
+	if(name.encoding == XA_STRING) {
+		strncpy(c->name, (char *)name.value, sizeof c->name - 1);
+	}
 	else {
 		if(XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success
 		&& n > 0 && *list)
 		{
-			strncpy(c->name, *list, sizeof c->name);
+			strncpy(c->name, *list, sizeof c->name - 1);
 			XFreeStringList(list);
 		}
 	}
+	c->name[sizeof c->name - 1] = '\0';
 	XFree(name.value);
 }
 
-- 
cgit v1.2.3