File confuse-2.8-cfg_tilde_expand_overread.patch of Package libconfuse0.25880

--- confuse-2.8/src/confuse.c	2022/09/12 09:09:30	1.1
+++ confuse-2.8/src/confuse.c	2022/09/12 09:16:08
@@ -1268,14 +1268,20 @@
         }
         else
         {
-            /* ~user or ~user/path */
-            char *user;
+            char *user; /* ~user or ~user/path */
+	    size_t len;
 
             file = strchr(filename, '/');
-            if(file == 0)
+            if(file == NULL)
                 file = filename + strlen(filename);
-            user = malloc(file - filename);
-            strncpy(user, filename + 1, file - filename - 1);
+
+            len = file - filename - 1;
+            user = malloc(len + 1);
+            if (!user)
+                return NULL;
+
+            strncpy(user, &filename[1], len);
+            user[len] = 0;
             passwd = getpwnam(user);
             free(user);
         }
openSUSE Build Service is sponsored by