summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 685e9d9)
raw | patch | inline | side by side (parent: 685e9d9)
author | Brandon Casey <drafnel@gmail.com> | |
Thu, 6 Jan 2011 00:30:01 +0000 (18:30 -0600) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 6 Jan 2011 20:21:49 +0000 (12:21 -0800) |
GNU printf, and many others, will print the string "(null)" if a NULL
pointer is passed as the argument to a "%s" format specifier. Some
implementations (like on Solaris) do not detect a NULL pointer and will
produce a segfault in this case.
So, fix this by ensuring that pointer variables do not contain the value
NULL. Assign the string "(null)" to the variables are NULL.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
pointer is passed as the argument to a "%s" format specifier. Some
implementations (like on Solaris) do not detect a NULL pointer and will
produce a segfault in this case.
So, fix this by ensuring that pointer variables do not contain the value
NULL. Assign the string "(null)" to the variables are NULL.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
trace.c | patch | blob | history |
index 02279b82c48eeb9b6e084b10dc2646eec5efbc01..35d388dce44a4a8e3d6053dfd6abcb652771818a 100644 (file)
--- a/trace.c
+++ b/trace.c
/* FIXME: move prefix to startup_info struct and get rid of this arg */
void trace_repo_setup(const char *prefix)
{
+ const char *git_work_tree;
char cwd[PATH_MAX];
char *trace = getenv("GIT_TRACE");
if (!getcwd(cwd, PATH_MAX))
die("Unable to get current working directory");
+ if (!(git_work_tree = get_git_work_tree()))
+ git_work_tree = "(null)";
+
+ if (!prefix)
+ prefix = "(null)";
+
trace_printf("setup: git_dir: %s\n", quote_crnl(get_git_dir()));
- trace_printf("setup: worktree: %s\n", quote_crnl(get_git_work_tree()));
+ trace_printf("setup: worktree: %s\n", quote_crnl(git_work_tree));
trace_printf("setup: cwd: %s\n", quote_crnl(cwd));
trace_printf("setup: prefix: %s\n", quote_crnl(prefix));
}