need to use strncmp for relative path check: if (!strncmp (s, "/./", 3) || !strncmp (s, "/../", 4)) { ++s; }
On Wed, Jun 21, 2017 at 8:53 AM, Zartaj Majeed <zar...@gmail.com> wrote: > This update to the patch adds the following: > > 1. Check socket file path length less than sizeof sun_path array in > struct sockaddr_un > 2. Allow relative socket file paths starting with "./" or "../". This > means the pseudo filename opened in bash is of the form > "/dev/unixstream/./xyz.sock" or "/dev/unixdgram/../xyz.sock" > > > + s = strchr (path+9, '/'); > + /* relative path starts with '"./" or "../" */ > + if (s[1] == '.' && s[2] == '/' || > + s[1] == '.' && s[2] == '.' && s[3] == '/') > + { > + ++s; > + } > + fd = _usockopen (s, path[9]); > + >