diff options
Diffstat (limited to 'src/blogc-git-receiver')
-rw-r--r-- | src/blogc-git-receiver/pre-receive.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/blogc-git-receiver/pre-receive.c b/src/blogc-git-receiver/pre-receive.c index 99e15dd..954c379 100644 --- a/src/blogc-git-receiver/pre-receive.c +++ b/src/blogc-git-receiver/pre-receive.c @@ -104,6 +104,11 @@ bgr_pre_receive_hook(int argc, char *argv[]) return 1; } char *repo_dir = dirname(real_hooks_dir); + if (0 != chdir(repo_dir)) { + fprintf(stderr, "error: failed to change to repository root\n"); + free(real_hooks_dir); + return 1; + } char *htdocs_sym = bc_strdup_printf("%s/htdocs", repo_dir); free(real_hooks_dir); if (0 != access(htdocs_sym, F_OK)) { |