]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix 142488: don't read ./.valgrindrc if CWD==HOME.
authorNicholas Nethercote <njn@valgrind.org>
Mon, 26 Mar 2007 22:05:30 +0000 (22:05 +0000)
committerNicholas Nethercote <njn@valgrind.org>
Mon, 26 Mar 2007 22:05:30 +0000 (22:05 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6665

coregrind/m_commandline.c

index 97a4eee76df374dc6b5d193957daad9ad31e298e..3c3d95e0baa4a210a0f119b9168e7e9b5fa94e0b 100644 (file)
@@ -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 );