Fixes VFS getcwd
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 16 Jul 2014 01:42:35 +0000 (18:42 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 16 Jul 2014 01:42:35 +0000 (18:42 -0700)
Off by 1, it was leaving an extra space in each link slot.  This was adding an
extra letter, or sometimes gibberish or 0, to each part of the path.

kern/src/vfs.c

index d5f45a7..f765ed0 100644 (file)
@@ -2368,7 +2368,7 @@ char *do_getcwd(struct fs_struct *fs_env, char **kfree_this, size_t cwd_l)
                        set_errno(ERANGE);
                        return 0;
                }
-               path_start -= link_len + 1;     /* the 1 is for the \0 */
+               path_start -= link_len;
                strncpy(path_start, dentry->d_name.name, link_len);
                path_start--;
                *path_start = '/';