summaryrefslogtreecommitdiff
path: root/reentr.pl
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2005-07-05 18:17:34 +0000
committerDave Mitchell <davem@fdisolutions.com>2005-07-05 18:17:34 +0000
commitb8dcbfa5abb61b30000a64f9600fa0363796efca (patch)
tree38c7e2a3e94a878b61b6fef09058c16449890601 /reentr.pl
parent6e38a594fb2312d48815b72c0456fcd281ea8917 (diff)
downloadperl-b8dcbfa5abb61b30000a64f9600fa0363796efca.tar.gz
a long /etc/groups entry could cause memory exhaustion.
Too small a buffer would cause ERANGE and a retry with double the buffer size. later at EOF, the apparent error got 'stuck' as ERANGE rather than ENOENT, so the buffer size doubled recursively p4raw-id: //depot/perl@25084
Diffstat (limited to 'reentr.pl')
-rw-r--r--reentr.pl2
1 files changed, 1 insertions, 1 deletions
diff --git a/reentr.pl b/reentr.pl
index e1cee6f3ce..a16f33c213 100644
--- a/reentr.pl
+++ b/reentr.pl
@@ -718,7 +718,7 @@ EOF
my $rv = $v ? ", $v" : "";
if ($r eq 'I') {
push @wrap, <<EOF;
-# define $func($v) ($memzero(PL_reentrant_retint = $call)$test ? $true : (((PL_reentrant_retint == ERANGE) || (errno == ERANGE)) ? ($seent{$func} *) Perl_reentrant_retry("$func"$rv) : 0))
+# define $func($v) ($memzero(PL_reentrant_retint = $call)$test ? $true : ((PL_reentrant_retint == ERANGE) ? ($seent{$func} *) Perl_reentrant_retry("$func"$rv) : 0))
EOF
} else {
push @wrap, <<EOF;