|
From: <sv...@va...> - 2007-03-26 22:05:35
|
Author: njn
Date: 2007-03-26 23:05:30 +0100 (Mon, 26 Mar 2007)
New Revision: 6665
Log:
Fix 142488: don't read ./.valgrindrc if CWD==HOME.
Modified:
trunk/coregrind/m_commandline.c
Modified: trunk/coregrind/m_commandline.c
===================================================================
--- trunk/coregrind/m_commandline.c 2007-03-26 15:27:01 UTC (rev 6664)
+++ trunk/coregrind/m_commandline.c 2007-03-26 22:05:30 UTC (rev 6665)
@@ -204,8 +204,17 @@
HChar* home = VG_(getenv)("HOME");
HChar* f1_clo = home ? read_dot_valgrindrc( home ) : NULL;
HChar* env_clo = VG_(strdup)( VG_(getenv)(VALGRIND_OPTS) );
- HChar* f2_clo = read_dot_valgrindrc(".");
+ HChar* f2_clo = NULL;
+ // Don't read ./.valgrindrc if "." is the same as "$HOME", else its
+ // contents will be applied twice. (bug #142488)
+ if (home) {
+ HChar cwd[VKI_PATH_MAX+1];
+ Bool cwd_ok = VG_(getcwd)(cwd, VKI_PATH_MAX);
+ f2_clo = ( (cwd_ok && VG_STREQ(home, cwd))
+ ? NULL : read_dot_valgrindrc(".") );
+ }
+
if (f1_clo) add_args_from_string( f1_clo );
if (env_clo) add_args_from_string( env_clo );
if (f2_clo) add_args_from_string( f2_clo );
|