From 3639f1bbb4547f14ec792b311f117aef27dcc7f9 Mon Sep 17 00:00:00 2001
From: sin <sin@2f30.org>
Date: Fri, 14 Nov 2014 12:50:41 +0000
Subject: [PATCH] Just use xstrdup() in makepath()

---
 noice.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/noice.c b/noice.c
index f52e910f..d0b00948 100644
--- a/noice.c
+++ b/noice.c
@@ -452,24 +452,23 @@ dentfree(struct entry *dents, int n)
 char *
 makepath(char *dir, char *name)
 {
-	char *path;
+	char path[PATH_MAX];
 
 	/* Handle absolute path */
 	if (name[0] == '/') {
-		path = xstrdup(name);
+		strlcpy(path, name, sizeof(path));
 	} else {
-		path = xmalloc(PATH_MAX);
 		/* Handle root case */
 		if (strcmp(dir, "/") == 0) {
-			strlcpy(path, "/", PATH_MAX);
-			strlcat(path, name, PATH_MAX);
+			strlcpy(path, "/", sizeof(path));
+			strlcat(path, name, sizeof(path));
 		} else {
-			strlcpy(path, dir, PATH_MAX);
-			strlcat(path, "/", PATH_MAX);
-			strlcat(path, name, PATH_MAX);
+			strlcpy(path, dir, sizeof(path));
+			strlcat(path, "/", sizeof(path));
+			strlcat(path, name, sizeof(path));
 		}
 	}
-	return path;
+	return xstrdup(path);
 }
 
 /* Return the position of the matching entry or 0 otherwise */
-- 
2.51.0