pathtrace: fix matching of symlinkat syscall
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 6 Aug 2017 12:39:56 +0000 (12:39 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 6 Aug 2017 12:39:56 +0000 (12:39 +0000)
* pathtrace.c (pathtrace_match_set) <SEN_symlinkat>: The first argument
of symlinkat syscall is not a path but an arbitrary string, ignore it.

pathtrace.c

index f0b85513334ee57ddc365386ad9246b6c2d606cc..e6e122ac5c8cfed6cdf3ba144eeaac1639ddbc0d 100644 (file)
@@ -225,9 +225,8 @@ pathtrace_match_set(struct tcb *tcp, struct path_set *set)
                return fdmatch(tcp, tcp->u_arg[4], set);
 
        case SEN_symlinkat:
-               /* path, fd, path */
+               /* x, fd, path */
                return fdmatch(tcp, tcp->u_arg[1], set) ||
-                       upathmatch(tcp, tcp->u_arg[0], set) ||
                        upathmatch(tcp, tcp->u_arg[2], set);
 
        case SEN_copy_file_range: