cgit

commit dc1a8eadd4c063fe6782fa99f9db41c46b85d048

Author: Lars Hjemli <hjemli@gmail.com>

shared.c: do not modify const memory

Noticed-by: zhongjj <zhongjj@lemote.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>

 shared.c | 14 +++-----------


diff --git a/shared.c b/shared.c
index 7ec2e19296e2bfbc7226849163b8bdb05bb56e94..3926b4a1b9bcfe669509c76779e6d85370cb2071 100644
--- a/shared.c
+++ b/shared.c
@@ -100,23 +100,15 @@
 char *trim_end(const char *str, char c)
 {
 	int len;
-	char *s, *t;
 
 	if (str == NULL)
 		return NULL;
-	t = (char *)str;
-	len = strlen(t);
-	while(len > 0 && t[len - 1] == c)
+	len = strlen(str);
+	while(len > 0 && str[len - 1] == c)
 		len--;
-
 	if (len == 0)
 		return NULL;
-
-	c = t[len];
-	t[len] = '\0';
-	s = xstrdup(t);
-	t[len] = c;
-	return s;
+	return xstrndup(str, len);
 }
 
 char *strlpart(char *txt, int maxlen)