diff options
author | Father Chrysostomos <sprout@cpan.org> | 2012-08-20 18:06:41 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-08-21 14:11:02 -0700 |
commit | 62abd0d789549020431af511c02492ac374cf355 (patch) | |
tree | 4578713d6306b9700793165386a9f786ccf79fbf /perl.h | |
parent | f35fca86375876704f26fde951b763c2bb533608 (diff) | |
download | perl-62abd0d789549020431af511c02492ac374cf355.tar.gz |
Don’t use strchr when scanning for newline after <<foo
The code that uses this is specifically for parsing <<foo inside a
quote-like operator inside a string eval.
This prints bar:
eval "s//<<foo/e
bar
foo
";
print $_ || $@;
This prints Can't find string terminator blah blah blah:
eval "s//<<foo/e #\0
bar
foo
";
print $_ || $@;
Nulls in comments are allowed elsewhere. This prints bar:
eval "\$_ = <<foo #\0
bar
foo
";
print $_ || $@;
The problem with strchr is that it is specifically for scanning null-
terminated strings. If embedded nulls are permitted (and should be in
this case), memchr should be used.
This code was added by 0244c3a403.
Diffstat (limited to 'perl.h')
0 files changed, 0 insertions, 0 deletions