These I haven't seen yet. Wouldn't like such a surprise though. Also unstatic rel, it seems to be declared static accidentally. Signed-off-by: Alex Riesen <raa.lkml@xxxxxxxxx> --- One gets paranoid when exposed to "commercial" systems for too long. setup.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-)
From 602d49acd3e5285974cc1b7c4337301b13bb54b8 Mon Sep 17 00:00:00 2001 From: Alex Riesen <raa.lkml@xxxxxxxxx> Date: Thu, 2 Aug 2007 16:51:57 +0200 Subject: [PATCH] Handle the errors from chdir in set_work_tree These I haven't seen yet. Wouldn't like such a surprise though. Also unstatic rel, it seems to be declared static accidentally. Signed-off-by: Alex Riesen <raa.lkml@xxxxxxxxx> --- setup.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/setup.c b/setup.c index 1beba7e..4e6bb76 100644 --- a/setup.c +++ b/setup.c @@ -201,8 +201,8 @@ int is_inside_work_tree(void) */ const char *set_work_tree(const char *dir) { - char dir_buffer[PATH_MAX]; - static char buffer[PATH_MAX + 1], *rel = NULL; + char dir_buffer[PATH_MAX], *rel = NULL; + static char buffer[PATH_MAX + 1]; int len, postfix_len = strlen(DEFAULT_GIT_DIR_ENVIRONMENT) + 1; /* strip the variable 'dir' of the postfix "/.git" if it has it */ @@ -220,8 +220,10 @@ const char *set_work_tree(const char *dir) if (!is_absolute_path(dir)) set_git_dir(make_absolute_path(dir)); dir = dir_buffer; - chdir(dir); - strcat(rel, "/"); + if (chdir(dir)) + rel = NULL; + else + strcat(rel, "/"); inside_git_dir = 0; } else { rel = NULL; -- 1.5.3.rc3.145.g4d9cdb