diff --git a/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cpp b/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cpp index 2720a3cab2c9b..4db9c46f1889b 100644 --- a/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cpp +++ b/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cpp @@ -969,8 +969,8 @@ void ReExec() { // rely on that will fail to load shared libraries. Query AT_EXECFN instead. pathname = reinterpret_cast(getauxval(AT_EXECFN)); #endif - - uptr rv = internal_execve(pathname, GetArgv(), GetEnviron()); + char **argv = GetArgv(); + uptr rv = internal_execve(argv[0], argv, GetEnviron()); int rverrno; CHECK_EQ(internal_iserror(rv, &rverrno), true); Printf("execve failed, errno %d\n", rverrno);