commit 7ded01fb85d5ba062fe73c3232cd7add0603adda from: Stefan Sperling via: Thomas Adam date: Tue Sep 10 14:11:00 2024 UTC apply realpath() to the gotd -s argument commit - 858f75292f23a7397a21146ecafa6c96c3379a02 commit + 7ded01fb85d5ba062fe73c3232cd7add0603adda blob - 516efa50f6d737f7eedb15849968300d76e9a0f8 blob + f7f2307cd30d20da15db9b6460051fe3276284f8 --- gotd/gotd.c +++ gotd/gotd.c @@ -2058,7 +2058,7 @@ main(int argc, char **argv) struct gotd_secrets *secrets = NULL; int ch, fd = -1, daemonize = 1, verbosity = 0, noaction = 0; const char *confpath = GOTD_CONF_PATH; - const char *secretspath = NULL; + char *secretspath = NULL; char *argv0 = argv[0]; char title[2048]; struct passwd *pw = NULL; @@ -2096,7 +2096,9 @@ main(int argc, char **argv) fatal("realpath '%s'", optarg); break; case 's': - secretspath = optarg; + secretspath = realpath(optarg, NULL); + if (secretspath == NULL) + fatal("realpath '%s'", optarg); break; case 'T': switch (*optarg) { @@ -2508,6 +2510,7 @@ main(int argc, char **argv) event_dispatch(); free(repo_path); + free(secretspath); free(default_sender); gotd_shutdown();