git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] trace.c: ensure NULL is not passed to printf
@ 2011-01-06  0:30 Brandon Casey
  2011-01-06  0:30 ` [PATCH 2/3] t0001,t1510,t3301: use sane_unset which always returns with status 0 Brandon Casey
  2011-01-06  0:30 ` [PATCH 3/3] t3032: limit sed branch labels to 8 characters Brandon Casey
  0 siblings, 2 replies; 5+ messages in thread
From: Brandon Casey @ 2011-01-06  0:30 UTC (permalink / raw)
  To: gitster; +Cc: git, Brandon Casey

From: Brandon Casey <drafnel@gmail.com>

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>
---
 trace.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/trace.c b/trace.c
index 02279b8..35d388d 100644
--- a/trace.c
+++ b/trace.c
@@ -154,6 +154,7 @@ static const char *quote_crnl(const char *path)
 /* 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");
 
@@ -164,8 +165,14 @@ void trace_repo_setup(const char *prefix)
 	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));
 }
-- 
1.7.3.1

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

end of thread, other threads:[~2011-01-06 21:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-06  0:30 [PATCH 1/3] trace.c: ensure NULL is not passed to printf Brandon Casey
2011-01-06  0:30 ` [PATCH 2/3] t0001,t1510,t3301: use sane_unset which always returns with status 0 Brandon Casey
2011-01-06 20:32   ` Junio C Hamano
2011-01-06 21:39     ` Brandon Casey
2011-01-06  0:30 ` [PATCH 3/3] t3032: limit sed branch labels to 8 characters Brandon Casey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).