Bug 767608 - Memory leak with non-matching named captures
Memory leak with non-matching named captures
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: perl (Show other bugs)
Unspecified Unspecified
high Severity medium
: rc
: ---
Assigned To: Petr Pisar
Martin Kyral
: Patch
Depends On:
Blocks: 947775 960054
  Show dependency treegraph
Reported: 2011-12-14 08:40 EST by Petr Pisar
Modified: 2013-11-20 23:40 EST (History)
5 users (show)

See Also:
Fixed In Version: perl-5.10.1-132.el6
Doc Type: Bug Fix
Doc Text:
Cause: Referring to named capturing group when the group has not matched. Consequence: A memory leaks. Fix: Code to obtain a named capture group value has been corrected not to allocated a new memory if no match has occurred. Result: Using value of non-matched capturing group does not leak memory anymore.
Story Points: ---
Clone Of: 767597
Last Closed: 2013-11-20 23:40:09 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Upstream fix applicable to perl-5.10.1 (1.91 KB, patch)
2011-12-15 07:51 EST, Petr Pisar
no flags Details | Diff

  None (edit)
Description Petr Pisar 2011-12-14 08:40:07 EST
+++ This bug was initially created as a clone of Bug #767597 +++

Referring non-matched named capture leaks memory:

for (1..10_000_000) {
  if ("foo" =~ /(foo|(?<capture>bar))?/) {
    my $capture = $+{capture}

This is tracked by upstream (https://rt.perl.org/rt3/Public/Bug/Display.html?id=78266) and fixed by commit 7402016d87474403eea5c52dc2c071f68cbbe25c.


RHEL-6.2 (perl-5.10.1-119.el6_1.1.x86_64) affected.
Comment 2 Petr Pisar 2011-12-14 09:06:30 EST
Named captures are not supported by perl-5.8 and older. This is not an issue for older RHEL releases.
Comment 3 Petr Pisar 2011-12-15 07:51:09 EST
Created attachment 547216 [details]
Upstream fix applicable to perl-5.10.1
Comment 12 errata-xmlrpc 2013-11-20 23:40:09 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.