From 6a70c3d49bc334bf0ba45ee348d67fcc69f53314 Mon Sep 17 00:00:00 2001 From: Francis Tsui Date: Thu, 14 May 2026 15:20:31 -0700 Subject: [PATCH] Fix dangling string_view UAF. PiperOrigin-RevId: 915643410 --- sharing/nearby_sharing_service_impl.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sharing/nearby_sharing_service_impl.cc b/sharing/nearby_sharing_service_impl.cc index f125391c..615c1c87 100644 --- a/sharing/nearby_sharing_service_impl.cc +++ b/sharing/nearby_sharing_service_impl.cc @@ -2258,16 +2258,15 @@ void NearbySharingServiceImpl::OnIncomingAdvertisementDecoded( // data to lambda. GetCertificateManager()->GetDecryptedPublicCertificate( std::move(encrypted_metadata_key), - [this, endpoint_id, advertisement_copy = *advertisement, - placeholder_share_target_id]( + [this, endpoint_id = std::string(endpoint_id), + advertisement_copy = *advertisement, placeholder_share_target_id]( std::optional decrypted_public_certificate) { RunOnNearbySharingServiceThread( "incoming_decrypted_certificate", // capture endpoint_id string_view as a std::string to ensure the // data does not go out of scope. - [this, endpoint_id = std::string(endpoint_id), advertisement_copy, - placeholder_share_target_id, + [this, endpoint_id, advertisement_copy, placeholder_share_target_id, decrypted_public_certificate = std::move(decrypted_public_certificate)]() { OnIncomingDecryptedCertificate(endpoint_id, advertisement_copy,