+7
-0
lines changedFilter options
+7
-0
lines changed Original file line number Diff line number Diff line change
@@ -110,6 +110,7 @@ Perl_av_extend_guts(pTHX_ AV *av, SSize_t key, SSize_t *maxp, SV ***allocp,
110
110
if (av && *allocp != *arrayp) { /* a shifted SV* array exists */
111
111
to_null = *arrayp - *allocp;
112
112
*maxp += to_null;
113
+
ary_offset = AvFILLp(av) + 1;
113
114
114
115
Move(*arrayp, *allocp, AvFILLp(av)+1, SV*);
115
116
Original file line number Diff line number Diff line change
@@ -108,4 +108,10 @@ is sprintf("%s", splice @a, 0, 1, undef), "",
108
108
"croak when splicing into readonly array";
109
109
}
110
110
111
+
# GH#18667 - av_extend_guts must zero duplicate SV*s
112
+
fresh_perl_is('my @data = (undef) x 4; splice @data, 1, 1;
113
+
splice @data, 2, 1; $data[3] = undef; splice @data, 3, 1;',
114
+
'', {}, 'GH#18667 - av_extend_guts must zero duplicate SV*s');
115
+
116
+
111
117
done_testing;
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4