https://d.puremagic.com/issues/show_bug.cgi?id=11777
--- Comment #7 from Kenji Hara <k.hara...@gmail.com> 2013-12-24 15:21:31 PST --- (In reply to comment #6) > So now everyone can add `assert(enclosing->fieldinit != fieldinit);` check in > `Scope::pop` and test if the issue is triggered in his codebase, as in the > worst case it may silently occur without visible effect but with code > corruption. Denis, can you test this patch? src/scope.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/scope.c b/src/scope.c index f51a30c..c22b585 100644 --- a/src/scope.c +++ b/src/scope.c @@ -188,14 +188,17 @@ Scope *Scope::pop() enclosing->callSuper |= callSuper; if (enclosing->fieldinit && fieldinit) { + assert(enclosing->fieldinit != fieldinit); + size_t dim = fieldinit_dim; for (size_t i = 0; i < dim; i++) enclosing->fieldinit[i] |= fieldinit[i]; - /* Workaround regression @@@BUG11777@@@. - Probably this memory is used in future. - mem.free(fieldinit); - */ - fieldinit = NULL; + + if (!nofree) + { + mem.free(fieldinit); + fieldinit = NULL; + } } } -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------