Fix scope of SubscribeWindow argument to fix ASAN error. PiperOrigin-RevId: 644069525
diff --git a/quiche/quic/moqt/moqt_session.cc b/quiche/quic/moqt/moqt_session.cc index 92bf67f..bd470af 100644 --- a/quiche/quic/moqt/moqt_session.cc +++ b/quiche/quic/moqt/moqt_session.cc
@@ -744,6 +744,7 @@ } } LocalTrack::Visitor::PublishPastObjectsCallback publish_past_objects; + std::optional<SubscribeWindow> past_window; if (start < track.next_sequence() && track.visitor() != nullptr) { // Pull a copy of objects that have already been published. FullSequence end_of_past_subscription{ @@ -751,11 +752,11 @@ message.end_object.has_value() ? *message.end_object : UINT64_MAX}; end_of_past_subscription = std::min(end_of_past_subscription, track.next_sequence()); - SubscribeWindow window = - SubscribeWindow(message.subscribe_id, track.forwarding_preference(), + past_window.emplace(message.subscribe_id, track.forwarding_preference(), track.next_sequence(), start, end_of_past_subscription); absl::StatusOr<LocalTrack::Visitor::PublishPastObjectsCallback> - past_objects_available = track.visitor()->OnSubscribeForPast(window); + past_objects_available = + track.visitor()->OnSubscribeForPast(*past_window); if (!past_objects_available.ok()) { SendSubscribeError(message, SubscribeErrorCode::kInternalError, past_objects_available.status().message(), @@ -781,6 +782,7 @@ session_->local_track_by_subscribe_id_.emplace(message.subscribe_id, track.full_track_name()); if (publish_past_objects) { + QUICHE_DCHECK(past_window.has_value()); std::move(publish_past_objects)(); } }