diff --git a/src/google/protobuf/arena.h b/src/google/protobuf/arena.h index ffc9cb1608..0e5d6a9e00 100644 --- a/src/google/protobuf/arena.h +++ b/src/google/protobuf/arena.h @@ -261,7 +261,7 @@ class PROTOBUF_EXPORT PROTOBUF_ALIGNAS(8) Arena final { // again. template PROTOBUF_ALWAYS_INLINE static void Destroy(T* obj) { - if (InternalGetOwningArena(obj) == nullptr) delete obj; + if (InternalGetArena(obj) == nullptr) delete obj; } // Allocates memory with the specific size and alignment. diff --git a/src/google/protobuf/arena_unittest.cc b/src/google/protobuf/arena_unittest.cc index 4a2d502cc1..21041129fb 100644 --- a/src/google/protobuf/arena_unittest.cc +++ b/src/google/protobuf/arena_unittest.cc @@ -561,16 +561,6 @@ TEST(ArenaTest, UnsafeArenaSwap) { TestUtil::ExpectAllFieldsSet(*message2); } -TEST(ArenaTest, GetOwningArena) { - Arena arena; - auto* m1 = Arena::CreateMessage(&arena); - EXPECT_EQ(Arena::InternalGetOwningArena(m1), &arena); - EXPECT_EQ(&arena, Arena::InternalGetOwningArena( - m1->mutable_repeated_foreign_message())); - EXPECT_EQ(&arena, - Arena::InternalGetOwningArena(m1->mutable_repeated_int32())); -} - TEST(ArenaTest, SwapBetweenArenasUsingReflection) { Arena arena1; TestAllTypes* arena1_message = Arena::CreateMessage(&arena1);