]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Make hard limit enforcement work for RLIMIT_DATA and RLIMIT_STACK in
authorTom Hughes <tom@compton.nu>
Mon, 20 Mar 2006 15:36:28 +0000 (15:36 +0000)
committerTom Hughes <tom@compton.nu>
Mon, 20 Mar 2006 15:36:28 +0000 (15:36 +0000)
the setrlimit system call wrapper.

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

coregrind/m_syswrap/syswrap-generic.c

index 5fffa034548df12c2c293144a27fe943dbdf91a1..1338e3ff6ec8b7530428ef2b5e30faa86a495044 100644 (file)
@@ -5070,8 +5070,8 @@ PRE(sys_setrlimit)
       }
    }
    else if (ARG1 == VKI_RLIMIT_DATA) {
-      if (((struct vki_rlimit *)ARG2)->rlim_cur > ((struct vki_rlimit *)ARG2)->rlim_max ||
-          ((struct vki_rlimit *)ARG2)->rlim_max > ((struct vki_rlimit *)ARG2)->rlim_max) {
+      if (((struct vki_rlimit *)ARG2)->rlim_cur > VG_(client_rlimit_data).rlim_max ||
+          ((struct vki_rlimit *)ARG2)->rlim_max > VG_(client_rlimit_data).rlim_max) {
          SET_STATUS_Failure( VKI_EPERM );
       }
       else {
@@ -5080,8 +5080,8 @@ PRE(sys_setrlimit)
       }
    }
    else if (ARG1 == VKI_RLIMIT_STACK && tid == 1) {
-      if (((struct vki_rlimit *)ARG2)->rlim_cur > ((struct vki_rlimit *)ARG2)->rlim_max ||
-          ((struct vki_rlimit *)ARG2)->rlim_max > ((struct vki_rlimit *)ARG2)->rlim_max) {
+      if (((struct vki_rlimit *)ARG2)->rlim_cur > VG_(client_rlimit_stack).rlim_max ||
+          ((struct vki_rlimit *)ARG2)->rlim_max > VG_(client_rlimit_stack).rlim_max) {
          SET_STATUS_Failure( VKI_EPERM );
       }
       else {