summaryrefslogtreecommitdiff
path: root/taint.c
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2019-12-07 13:47:05 -0700
committerKarl Williamson <khw@cpan.org>2019-12-18 09:33:09 -0700
commit4aada8b9eda25f3f024283c0c27c1424b5ba40ff (patch)
tree2c0ded2d593e998be054336ebf9648e4e18877fb /taint.c
parentfcafb10c71dbfc03eacb02eeb0c567facc269a72 (diff)
downloadperl-4aada8b9eda25f3f024283c0c27c1424b5ba40ff.tar.gz
Add memCHRs() macro and use it
This replaces strchr("list", c) calls throughout the core. They don't work properly when 'c' is a NUL, returning the position of the terminating NUL in "list" instead of failure. This could lead to segfaults or even security issues.
Diffstat (limited to 'taint.c')
-rw-r--r--taint.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/taint.c b/taint.c
index 871d89f48b..583454899c 100644
--- a/taint.c
+++ b/taint.c
@@ -170,7 +170,7 @@ Perl_taint_env(pTHX)
#endif
if (t < e && isWORDCHAR(*t))
t++;
- while (t < e && (isWORDCHAR(*t) || strchr("-_.+", *t)))
+ while (t < e && (isWORDCHAR(*t) || memCHRs("-_.+", *t)))
t++;
if (t < e) {
TAINT;