From: Tom Hughes Date: Thu, 4 Oct 2012 21:38:27 +0000 (+0000) Subject: Allow a null pointer as the second argument to capget. X-Git-Tag: svn/VALGRIND_3_9_0~647 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b387dedac00bc866e4949d42f1b97a0bb2fb9193;p=thirdparty%2Fvalgrind.git Allow a null pointer as the second argument to capget. Patch from Mark Wielaard to fix BZ#307101. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13021 --- diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index a1218179d2..0802090473 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -2212,8 +2212,9 @@ PRE(sys_capget) 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) { diff --git a/memcheck/tests/x86-linux/scalar.c b/memcheck/tests/x86-linux/scalar.c index 55c64faeb4..c0a318b3db 100644 --- a/memcheck/tests/x86-linux/scalar.c +++ b/memcheck/tests/x86-linux/scalar.c @@ -813,7 +813,7 @@ int main(void) // __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");