diff options
author | Karl Williamson <public@khwilliamson.com> | 2014-01-27 10:42:28 -0700 |
---|---|---|
committer | Karl Williamson <public@khwilliamson.com> | 2014-01-27 11:07:18 -0700 |
commit | 445bf929f6118f5f2b0e19171f576c3a6d7ada50 (patch) | |
tree | cab3ea7a043854d09ad59b32342755b1e8b5bffb /utf8.h | |
parent | 1b4a62a4c81dba4bbb281d24fde1c3b7308fdbfe (diff) | |
download | perl-445bf929f6118f5f2b0e19171f576c3a6d7ada50.tar.gz |
Taint more operands with case changes
The documentation says that Perl taints certain operations when subject
to locale rules, such as lc() and ucfirst(). Prior to this commit
there were exceptions when the operand to these functions contained no
characters whose case change actually varied depending on the locale,
for example the empty string or above-Latin1 code points. Changing to
conform to the documentation simplifies the core code, and yields more
consistent results.
Diffstat (limited to 'utf8.h')
-rw-r--r-- | utf8.h | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -47,11 +47,10 @@ ckWARN_d(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY) #define to_uni_fold(c, p, lenp) _to_uni_fold_flags(c, p, lenp, FOLD_FLAGS_FULL) -#define to_utf8_fold(c, p, lenp) _to_utf8_fold_flags(c, p, lenp, \ - FOLD_FLAGS_FULL, NULL) -#define to_utf8_lower(a,b,c) _to_utf8_lower_flags(a,b,c,0, NULL) -#define to_utf8_upper(a,b,c) _to_utf8_upper_flags(a,b,c,0, NULL) -#define to_utf8_title(a,b,c) _to_utf8_title_flags(a,b,c,0, NULL) +#define to_utf8_fold(c, p, lenp) _to_utf8_fold_flags(c, p, lenp, FOLD_FLAGS_FULL) +#define to_utf8_lower(a,b,c) _to_utf8_lower_flags(a,b,c,0) +#define to_utf8_upper(a,b,c) _to_utf8_upper_flags(a,b,c,0) +#define to_utf8_title(a,b,c) _to_utf8_title_flags(a,b,c,0) /* Source backward compatibility. */ #define is_utf8_string_loc(s, len, ep) is_utf8_string_loclen(s, len, ep, 0) |