Red Hat Bugzilla – Bug 699911
[PATCH] Use-after-free() when eval in variable assignments reassigns the same variable
Last modified: 2016-09-13 06:34:49 EDT
Created attachment 495050 [details]
In real world, such memory corruption occurs when using eval constructs for lazy assignment:
VARIABLE = $(eval VARIABLE := $(shell long-slow-command)$(VARIABLE)
Upstream submission: https://savannah.gnu.org/patch/index.php?7534
Affects Fedora as well, I'd be very thankful if this could make it into f15, if not a f14 update.
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
Bug confirmed, patch fixes the issue.
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
Prior to this update, memory corruption could occur in an "eval" expression if one of its sub-expressions was assigned to the same variable. An upstream patch has been applied to address this issue, and memory corruption no longer appears in the described scenario.
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.