|
From: <sv...@va...> - 2005-09-30 01:47:21
|
Author: sewardj
Date: 2005-09-30 02:47:12 +0100 (Fri, 30 Sep 2005)
New Revision: 4831
Log:
Placate memcheck/tests/x86/scalar, which objected to the rewrite of
the sys_readlink wrapper.
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.c
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2005-09-30 01:43:32 UTC (=
rev 4830)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2005-09-30 01:47:12 UTC (=
rev 4831)
@@ -4639,8 +4639,9 @@
* /proc/<pid>/exe.
*/
VG_(sprintf)(name, "/proc/%d/exe", VG_(getpid)());
- if (VG_(strcmp)((Char *)ARG1, name) =3D=3D 0=20
- || VG_(strcmp)((Char *)ARG1, "/proc/self/exe") =3D=3D 0) {
+ if (ML_(safe_to_deref)(ARG1, 1)
+ && (VG_(strcmp)((Char *)ARG1, name) =3D=3D 0=20
+ || VG_(strcmp)((Char *)ARG1, "/proc/self/exe") =3D=3D 0)) {
VG_(sprintf)(name, "/proc/self/fd/%d", VG_(cl_exec_fd));
SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, (UWord)name,=20
ARG2, ARG3));
|