Branch: refs/heads/blead
Home: https://github.com/Perl/perl5
Commit: 04c0207ebb3cb7f894b5f5b6320970aabda477a9
https://github.com/Perl/perl5/commit/04c0207ebb3cb7f894b5f5b6320970aabda477a9
Author: Paul "LeoNerd" Evans <[email protected]>
Date: 2023-02-17 (Fri, 17 Feb 2023)
Changed paths:
M class.c
M hv.c
M pad.c
M pad.h
M perly.act
M perly.h
M perly.tab
M perly.y
M sv.c
Log Message:
-----------
Fix a bunch of memory leaks in feature 'class'
* Free the attrlist OP fragment when applying class or field attribute
* Free the OP_PADxV ops we only use to get the pad index out for
fieldvar declarations
* Add a refcount to the `struct padname_fieldinfo` to keep track of its
capture in inner closures so it can be freed at the right time
* Free the class-related fields out of HvAUX
* Free the actual ObjectFIELDS() array when destroying an object instance
* Dup fieldinfo->paramname at sv_dup() time / free it at free time