diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-10-25 04:44:21 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-10-25 05:23:17 -0400 |
commit | ae95bc8deb1894292a26aea88490ba00f2d68c2a (patch) | |
tree | f6c6c51f9e811c0c1aec37c30e7544f7b570e589 /libsandbox/trace.c | |
parent | libsandbox: handle fd's w/out files in proc fd/ (diff) | |
download | sandbox-ae95bc8deb1894292a26aea88490ba00f2d68c2a.tar.gz sandbox-ae95bc8deb1894292a26aea88490ba00f2d68c2a.tar.bz2 sandbox-ae95bc8deb1894292a26aea88490ba00f2d68c2a.zip |
libsandbox: fix ptrace decode of utimensat
The ptrace code skipped one too many arguments when decoding the utimensat
syscall which caused random utils to fail with garbage paths.
URL: http://bugs.gentoo.org/288227
Reported-by: RB <aoz.syn@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'libsandbox/trace.c')
-rw-r--r-- | libsandbox/trace.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libsandbox/trace.c b/libsandbox/trace.c index d669fc9..2fd33cd 100644 --- a/libsandbox/trace.c +++ b/libsandbox/trace.c @@ -327,7 +327,7 @@ static bool trace_check_syscall(const struct syscall_entry *se, void *regs) else if (nr == SB_NR_UNLINKAT) return trace_check_syscall_DCF(&state); else if (nr == SB_NR_UTIME) return trace_check_syscall_C (&state); else if (nr == SB_NR_UTIMES) return trace_check_syscall_C (&state); - else if (nr == SB_NR_UTIMENSAT) return _trace_check_syscall_DCF(&state, 2); + else if (nr == SB_NR_UTIMENSAT) return _trace_check_syscall_DCF(&state, 1); else if (nr == SB_NR_ACCESS) { char *path = do_peekstr(trace_arg(regs, 1)); |