|
From: <sv...@va...> - 2012-10-04 21:38:35
|
tom 2012-10-04 22:38:27 +0100 (Thu, 04 Oct 2012)
New Revision: 13021
Log:
Allow a null pointer as the second argument to capget.
Patch from Mark Wielaard to fix BZ#307101.
Modified files:
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/memcheck/tests/x86-linux/scalar.c
Modified: trunk/memcheck/tests/x86-linux/scalar.c (+1 -1)
===================================================================
--- trunk/memcheck/tests/x86-linux/scalar.c 2012-10-04 21:41:12 +01:00 (rev 13020)
+++ trunk/memcheck/tests/x86-linux/scalar.c 2012-10-04 22:38:27 +01:00 (rev 13021)
@@ -813,7 +813,7 @@
// __NR_capget 184
GO(__NR_capget, "2s 2m");
- SY(__NR_capget, x0, x0); FAIL;
+ SY(__NR_capget, x0, x0+1); FAIL;
// __NR_capset 185
GO(__NR_capset, "2s 2m");
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c (+3 -2)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-04 21:41:12 +01:00 (rev 13020)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-04 22:38:27 +01:00 (rev 13021)
@@ -2212,8 +2212,9 @@
vki_cap_user_header_t, header, vki_cap_user_data_t, data);
PRE_MEM_READ( "capget(header)", ARG1,
sizeof(struct __vki_user_cap_header_struct) );
- PRE_MEM_WRITE( "capget(data)", ARG2,
- sizeof(struct __vki_user_cap_data_struct) );
+ if (ARG2 != (Addr)NULL)
+ PRE_MEM_WRITE( "capget(data)", ARG2,
+ sizeof(struct __vki_user_cap_data_struct) );
}
POST(sys_capget)
{
|