]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Allow a null pointer as the second argument to capget.
authorTom Hughes <tom@compton.nu>
Thu, 4 Oct 2012 21:38:27 +0000 (21:38 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 4 Oct 2012 21:38:27 +0000 (21:38 +0000)
Patch from Mark Wielaard to fix BZ#307101.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13021

coregrind/m_syswrap/syswrap-linux.c
memcheck/tests/x86-linux/scalar.c

index a1218179d2dee9cc2ca7844ddfbfd9940b4169d7..0802090473cd520b66099b01da18776cf7d2c24d 100644 (file)
@@ -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)
 {
index 55c64faeb4443c72858795edf095e50dedee909b..c0a318b3dbc10a756cb78cef6160718c3d065a30 100644 (file)
@@ -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");