Git development
 help / color / mirror / Atom feed
* [PATCH] Handle the errors from chdir in set_work_tree
@ 2007-08-02 15:27 Alex Riesen
  2007-08-02 15:40 ` Johannes Schindelin
  2007-08-02 21:58 ` Junio C Hamano
  0 siblings, 2 replies; 6+ messages in thread
From: Alex Riesen @ 2007-08-02 15:27 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Johannes Schindelin, Junio C Hamano

[-- Attachment #1: Type: text/plain, Size: 329 bytes --]

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@gmail.com>
---

One gets paranoid when exposed to "commercial"
systems for too long.

 setup.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

[-- Attachment #2: 0002-Handle-the-errors-from-chdir-in-set_work_tree.txt --]
[-- Type: text/plain, Size: 1289 bytes --]

From 602d49acd3e5285974cc1b7c4337301b13bb54b8 Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
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@gmail.com>
---
 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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-08-02 22:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-02 15:27 [PATCH] Handle the errors from chdir in set_work_tree Alex Riesen
2007-08-02 15:40 ` Johannes Schindelin
2007-08-02 21:58 ` Junio C Hamano
2007-08-02 22:07   ` Johannes Schindelin
2007-08-02 22:15   ` Alex Riesen
2007-08-02 22:18     ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox