From fd12f3489c7e83f6af2b8351d0c75db13f89a4e6 Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Thu, 5 Dec 2024 11:44:08 +1300 Subject: [PATCH] Remove LSAN supressions for Linux embedder (flutter/engine#56913) Fixes https://github.com/flutter/flutter/issues/90155 --- .../shell/platform/linux/fl_basic_message_channel_test.cc | 2 +- .../flutter/shell/platform/linux/fl_key_event_channel.cc | 4 ++-- engine/src/flutter/testing/lsan_suppressions.txt | 6 ------ 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/engine/src/flutter/shell/platform/linux/fl_basic_message_channel_test.cc b/engine/src/flutter/shell/platform/linux/fl_basic_message_channel_test.cc index 3e6679fdfe..a718486ee4 100644 --- a/engine/src/flutter/shell/platform/linux/fl_basic_message_channel_test.cc +++ b/engine/src/flutter/shell/platform/linux/fl_basic_message_channel_test.cc @@ -43,7 +43,7 @@ TEST(FlBasicMessageChannelTest, SendMessageWithoutResponse) { g_bytes_new(message->message, message->message_size); g_autoptr(FlStandardMessageCodec) codec = fl_standard_message_codec_new(); - FlValue* message_value = fl_message_codec_decode_message( + g_autoptr(FlValue) message_value = fl_message_codec_decode_message( FL_MESSAGE_CODEC(codec), message_bytes, nullptr); EXPECT_EQ(fl_value_get_type(message_value), FL_VALUE_TYPE_STRING); EXPECT_STREQ(fl_value_get_string(message_value), "Hello World!"); diff --git a/engine/src/flutter/shell/platform/linux/fl_key_event_channel.cc b/engine/src/flutter/shell/platform/linux/fl_key_event_channel.cc index a8f4745a95..bd9fedc9f1 100644 --- a/engine/src/flutter/shell/platform/linux/fl_key_event_channel.cc +++ b/engine/src/flutter/shell/platform/linux/fl_key_event_channel.cc @@ -109,13 +109,13 @@ gboolean fl_key_event_channel_send_finish(GObject* object, GAsyncResult* result, gboolean* handled, GError** error) { - FlValue* message = fl_basic_message_channel_send_finish( + g_autoptr(FlValue) message = fl_basic_message_channel_send_finish( FL_BASIC_MESSAGE_CHANNEL(object), result, error); if (message == nullptr) { return FALSE; } - g_autoptr(FlValue) handled_value = fl_value_lookup_string(message, "handled"); + FlValue* handled_value = fl_value_lookup_string(message, "handled"); *handled = fl_value_get_bool(handled_value); return TRUE; diff --git a/engine/src/flutter/testing/lsan_suppressions.txt b/engine/src/flutter/testing/lsan_suppressions.txt index 25f507f67d..52ad4c64ee 100644 --- a/engine/src/flutter/testing/lsan_suppressions.txt +++ b/engine/src/flutter/testing/lsan_suppressions.txt @@ -50,12 +50,6 @@ leak:RefCountedTest_DebugChecks_Test::TestBody # and allow some tests to inspect contents. leak:*flutter/shell/platform/linux/testing/mock_engine.cc -# TODO(bdero): Fix FL leaks: https://github.com/flutter/flutter/issues/90155 -leak:*flutter/shell/platform/linux/fl_keyboard_handler_test.cc* -leak:*flutter/shell/platform/linux/fl_key_channel_responder_test.cc* -leak:*flutter/shell/platform/linux/fl_basic_message_channel_test.cc* -leak:fl_message_codec_decode_message - # TODO(bdero): https://github.com/flutter/flutter/issues/90156 # Unfortunately, realloc calls originating from g_realloc effectively obscure # the trace of the original allocation. Deeper investigation is required to