diff options
author | Bernhard Walle | 2013-02-28 12:42:38 +0100 |
---|---|---|
committer | Denys Vlasenko | 2013-02-28 12:42:38 +0100 |
commit | 47f8558eee4caa30078daaa669f37d7cc77163fd (patch) | |
tree | e357192d977ca9c6dedf25d83badebff4e20dfb0 /procps/pgrep.c | |
parent | ed954b68552efb0c496f01fc9de28a4adf0f2404 (diff) | |
download | busybox-47f8558eee4caa30078daaa669f37d7cc77163fd.zip busybox-47f8558eee4caa30078daaa669f37d7cc77163fd.tar.gz |
pgrep: fix -x option
Because when -x is used (exact match), then we cannot compile the
regular expression with REG_NOSUB. The manual page regcomp(3) states
in section "Byte offsets":
Unless REG_NOSUB was set for the compilation of the pattern
buffer, it is possible to obtain substring match addressing
information.
The problem was detected on an ARM system with glibc 2.16.
Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'procps/pgrep.c')
-rw-r--r-- | procps/pgrep.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/procps/pgrep.c b/procps/pgrep.c index dc7ffff..7616027 100644 --- a/procps/pgrep.c +++ b/procps/pgrep.c @@ -128,7 +128,7 @@ int pgrep_main(int argc UNUSED_PARAM, char **argv) bb_show_usage(); if (argv[0]) - xregcomp(&re_buffer, argv[0], REG_EXTENDED | REG_NOSUB); + xregcomp(&re_buffer, argv[0], OPT_ANCHOR ? REG_EXTENDED : (REG_EXTENDED|REG_NOSUB); matched_pid = 0; cmd_last = NULL; |