aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-10-25 04:44:21 -0400
committerMike Frysinger <vapier@gentoo.org>2009-10-25 05:23:17 -0400
commitae95bc8deb1894292a26aea88490ba00f2d68c2a (patch)
treef6c6c51f9e811c0c1aec37c30e7544f7b570e589 /libsandbox
parentlibsandbox: handle fd's w/out files in proc fd/ (diff)
downloadsandbox-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')
-rw-r--r--libsandbox/trace.c2
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));