Skip to content

Commit 95c0a76

Browse files
author
Father Chrysostomos
committed
pad.c:pad_fixup_inner_anons: Add assertions
These would have made it easier to track down the bug fixed by the previous commit.
1 parent 6da1306 commit 95c0a76

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

pad.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2376,6 +2376,7 @@ Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv)
23762376
PADNAME **names = namepad;
23772377
PADOFFSET i = ix;
23782378
while (PadnameOUTER(name)) {
2379+
assert(SvTYPE(cv) == SVt_PVCV);
23792380
cv = CvOUTSIDE(cv);
23802381
names = PadlistNAMESARRAY(CvPADLIST(cv));
23812382
i = PARENT_PAD_INDEX(name);
@@ -2406,6 +2407,7 @@ Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv)
24062407
assert(SvWEAKREF(rv));
24072408
innercv = (CV *)SvRV(rv);
24082409
assert(!CvWEAKOUTSIDE(innercv));
2410+
assert(CvOUTSIDE(innercv) == old_cv);
24092411
SvREFCNT_dec(CvOUTSIDE(innercv));
24102412
CvOUTSIDE(innercv) = (CV *)SvREFCNT_inc_simple_NN(new_cv);
24112413
}

0 commit comments

Comments
 (0)