diff --git a/Main.c b/Main.c index 639c94c3e8c1f979a1474be0acc26e01978e0e23..dd9750bfb36de884f1bdbff8e919bc8dfe487c75 100644 --- a/Main.c +++ b/Main.c @@ -184,9 +184,9 @@ int change_directory(char* given_path) { // First, ensure that it is, infact, a directory. if (S_ISDIR(stat_buffer.st_mode)) { - // Next, check permissions. Only change upon owner permission. - if (stat_buffer.st_mode & S_IXUSR) { - // Change directory. + // Next, check permissions. + if ((access(given_path, X_OK)) == 0) { + // Change into directory. return_int = chdir(given_path); if (return_int < 0) { err_sys("Failed to change directory.");