You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
691 B

--- src/confuse.c~ 2020-06-21 15:53:26.000000000 -0500
+++ src/confuse.c 2022-09-12 08:41:44.448638314 -0500
@@ -1865,16 +1865,19 @@
} else {
/* ~user or ~user/path */
char *user;
+ size_t len;
file = strchr(filename, '/');
if (file == 0)
file = filename + strlen(filename);
- user = malloc(file - filename);
- if (!user)
+ len = file - filename - 1;
+ user = malloc(len + 1);
+ if (!user)
return NULL;
- strncpy(user, filename + 1, file - filename - 1);
+ strncpy(user, &filename[1], len);
+ user[len] = 0;
passwd = getpwnam(user);
free(user);
}