getrlimit conversion mix-up
authorUlrich Hecht <uli@suse.de>
Fri, 3 Jul 2009 15:09:30 +0000 (17:09 +0200)
committerRiku Voipio <riku.voipio@iki.fi>
Wed, 8 Jul 2009 14:02:28 +0000 (17:02 +0300)
Fixes getrlimit implementation that overwrote the result of the syscall
instead of converting it

Signed-off-by: Ulrich Hecht <uli@suse.de>
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>

linux-user/syscall.c

index df3016f..0009623 100644 (file)
@@ -5047,8 +5047,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
             if (!is_error(ret)) {
                 if (!lock_user_struct(VERIFY_WRITE, target_rlim, arg2, 0))
                     goto efault;
-                rlim.rlim_cur = tswapl(target_rlim->rlim_cur);
-                rlim.rlim_max = tswapl(target_rlim->rlim_max);
+                target_rlim->rlim_cur = tswapl(rlim.rlim_cur);
+                target_rlim->rlim_max = tswapl(rlim.rlim_max);
                 unlock_user_struct(target_rlim, arg2, 1);
             }
         }