@@ -1684,7 +1684,7 @@ PROTOBUF_ALWAYS_INLINE const char* TcParser::RepeatedString(
1684
1684
field.PrepareForParse ())) {
1685
1685
do {
1686
1686
ptr += sizeof (TagType);
1687
- ptr = ParseRepeatedStringOnce (ptr, arena, serial_arena, ctx, field);
1687
+ ptr = ParseRepeatedStringOnce (ptr, serial_arena, ctx, field);
1688
1688
1689
1689
if (PROTOBUF_PREDICT_FALSE (ptr == nullptr || !validate_last_string ())) {
1690
1690
PROTOBUF_MUSTTAIL return Error (PROTOBUF_TC_PARAM_NO_DATA_PASS);
@@ -2273,11 +2273,11 @@ PROTOBUF_NOINLINE const char* TcParser::MpString(PROTOBUF_TC_PARAM_DECL) {
2273
2273
}
2274
2274
2275
2275
PROTOBUF_ALWAYS_INLINE const char * TcParser::ParseRepeatedStringOnce (
2276
- const char * ptr, Arena* arena, SerialArena* serial_arena, ParseContext* ctx,
2276
+ const char * ptr, SerialArena* serial_arena, ParseContext* ctx,
2277
2277
RepeatedPtrField<std::string>& field) {
2278
2278
int size = ReadSize (&ptr);
2279
2279
if (PROTOBUF_PREDICT_FALSE (!ptr)) return {};
2280
- auto * str = Arena::Create< std::string>(arena );
2280
+ auto * str = new (serial_arena-> AllocateFromStringBlock ()) std::string ( );
2281
2281
field.AddAllocatedForParse (str);
2282
2282
ptr = ctx->ReadString (ptr, size, str);
2283
2283
if (PROTOBUF_PREDICT_FALSE (!ptr)) return {};
@@ -2312,7 +2312,7 @@ PROTOBUF_NOINLINE const char* TcParser::MpRepeatedString(
2312
2312
field.PrepareForParse ())) {
2313
2313
do {
2314
2314
ptr = ptr2;
2315
- ptr = ParseRepeatedStringOnce (ptr, arena, serial_arena, ctx, field);
2315
+ ptr = ParseRepeatedStringOnce (ptr, serial_arena, ctx, field);
2316
2316
if (PROTOBUF_PREDICT_FALSE (ptr == nullptr ||
2317
2317
!MpVerifyUtf8 (field[field.size () - 1 ],
2318
2318
table, entry, xform_val))) {
0 commit comments