From 6f9561448f137c5d89435143b7343817fb39fd10 Mon Sep 17 00:00:00 2001 From: Colin Liang Date: Thu, 14 Mar 2024 15:38:48 -0700 Subject: [PATCH] Fix crash caused by Use after free b/329330347 --- cobalt/media_session/media_session_client.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cobalt/media_session/media_session_client.cc b/cobalt/media_session/media_session_client.cc index 8c8bad0ea2cc..2a00d6a499e6 100644 --- a/cobalt/media_session/media_session_client.cc +++ b/cobalt/media_session/media_session_client.cc @@ -331,15 +331,15 @@ void MediaSessionClient::OnMediaSessionStateChanged( for (MediaImageSequence::size_type i = 0; i < artwork_size; i++) { const MediaImage& media_image(artwork.at(i)); CobaltExtensionMediaImage ext_image; - ext_image.src = media_image.src().c_str(); + ext_image.src = std::string(media_image.src()).c_str(); if (ext_image.src == nullptr) { // src() is required, but Cobalt IDL parser doesn't enforce it. // See cobalt/media_session/media_image.idl for more info. // https://wicg.github.io/mediasession/#dictdef-mediaimage LOG(ERROR) << "Required src string for MediaImage is missing."; } - ext_image.size = media_image.sizes().c_str(); - ext_image.type = media_image.type().c_str(); + ext_image.size = std::string(media_image.sizes()).c_str(); + ext_image.type = std::string(media_image.type()).c_str(); ext_artwork[i] = ext_image; } }