summaryrefslogtreecommitdiffstats
path: root/src/serve.c
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2020-11-08 12:16:59 -0500
committerDrew DeVault <sir@cmpwn.com>2020-11-08 12:16:59 -0500
commitea2914efff52d69d073149f75e19ca0586dad3c4 (patch)
treea564f037c30e3f5b6702edc80e7599587868f89b /src/serve.c
parent57f4fcdc418f135c8f0906655a0ff7c1fc37d81b (diff)
downloadgmnisrv-ea2914efff52d69d073149f75e19ca0586dad3c4.tar.gz
gmnisrv-ea2914efff52d69d073149f75e19ca0586dad3c4.tar.xz
gmnisrv-ea2914efff52d69d073149f75e19ca0586dad3c4.zip
Set CWD to cgi-bin when executing scripts
Diffstat (limited to 'src/serve.c')
-rw-r--r--src/serve.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/serve.c b/src/serve.c
index a3ac81a..11a34f2 100644
--- a/src/serve.c
+++ b/src/serve.c
@@ -145,6 +145,10 @@ serve_cgi(struct gmnisrv_client *client, const char *path,
dup2(pfd[1], STDOUT_FILENO);
close(pfd[1]);
+ char cwd[PATH_MAX + 1];
+ strcpy(cwd, path);
+ chdir(dirname(cwd));
+
// I don't feel like freeing this stuff and this process is
// going to die soon anyway so let's just be hip and call it an
// arena allocator :^)