this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix HOME and working directory in spawned shells

+4 -6
-1
src/shellspawn/shellspawn.c
··· 181 181 { 182 182 if (DBG) printf("set env: %s\n", param); 183 183 putenv(param); 184 - free(param); 185 184 } 186 185 break; 187 186 }
+4 -5
src/startup/darling.c
··· 60 60 uid_t g_originalUid, g_originalGid; 61 61 bool g_fixPermissions = false; 62 62 char **g_argv, **g_envp; 63 + char g_workingDirectory[4096]; 63 64 64 65 int main(int argc, char ** argv, char ** envp) 65 66 { ··· 101 102 return 1; 102 103 } 103 104 unsetenv("DPREFIX"); 105 + getcwd(g_workingDirectory, sizeof(g_workingDirectory)); 104 106 105 107 if (!checkPrefixDir()) 106 108 { ··· 564 566 free(buffer); 565 567 } 566 568 567 - if (getcwd(buffer1, sizeof(buffer1)) != NULL) 568 - { 569 - snprintf(buffer2, sizeof(buffer2), SYSTEM_ROOT "%s", buffer1); 570 - pushShellspawnCommand(sockfd, SHELLSPAWN_CHDIR, buffer2); 571 - } 569 + snprintf(buffer2, sizeof(buffer2), SYSTEM_ROOT "%s", g_workingDirectory); 570 + pushShellspawnCommand(sockfd, SHELLSPAWN_CHDIR, buffer2); 572 571 573 572 int ids[2] = { g_originalUid, g_originalGid }; 574 573 pushShellspawnCommandData(sockfd, SHELLSPAWN_SETUIDGID, ids, sizeof(ids));