From: Nicholas Nethercote Date: Mon, 26 Mar 2007 22:05:30 +0000 (+0000) Subject: Fix 142488: don't read ./.valgrindrc if CWD==HOME. X-Git-Tag: svn/VALGRIND_3_3_0~304 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39c78c7e8baeeaa745165860a03225b1cc2b2e6e;p=thirdparty%2Fvalgrind.git Fix 142488: don't read ./.valgrindrc if CWD==HOME. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6665 --- diff --git a/coregrind/m_commandline.c b/coregrind/m_commandline.c index 97a4eee76d..3c3d95e0ba 100644 --- a/coregrind/m_commandline.c +++ b/coregrind/m_commandline.c @@ -204,7 +204,16 @@ void VG_(split_up_argv)( Int argc, HChar** argv ) 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 );