commit | 11656206fff75205a8abab60363eb2f682ff678c | [log] [tgz] |
---|---|---|
author | Dmitry V. Levin <ldv@altlinux.org> | Thu Feb 18 00:08:30 2016 +0000 |
committer | Dmitry V. Levin <ldv@altlinux.org> | Fri Feb 19 01:44:33 2016 +0000 |
tree | 37b012b221ca2d9ab5a0b7efaccfdc8b3b971d20 | |
parent | 10c61e3b2213a63f3b5ada623cd17968d22f99b3 [diff] |
Fix corner cases of rt_sigpending syscall decoder * signal (print_sigset_addr_len_limit): New function, cloned from print_sigset_addr_len with added minimal length argument. Treat length less than minimal length or greater than NSIG/8 as invalid. Do not align length to 4-byte boundary. Align destination buffer to 4-byte boundary and initialize it with zeroes so that subsequent call to sprintsigmask_n will not access uninitialized data. (print_sigset_addr_len): Turn into a wrapper around print_sigset_addr_len_limit with current_wordsize as a minimal length argument. (SYS_FUNC(rt_sigpending)): Call print_sigset_addr_len_limit instead of print_sigset_addr_len with 1 as a minimal length argument. * tests/rt_sigpending.c: New file. * tests/rt_sigpending.test: New test. * tests/.gitignore: Add rt_sigpending. * tests/Makefile.am (check_PROGRAMS): Likewise. (TESTS): Add rt_sigpending.test.
This is strace -- a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state. The operation of strace is made possible by the kernel feature known as ptrace.
strace is released under a Berkeley-style license at the request of Paul Kranenburg; see the file COPYING for details.
See the file NEWS for information on what has changed in recent versions.
Please send bug reports and enhancements to the strace mailing list.