Avoid terminating MultiRangeHttpFetcher twice.
am: 7424199459
Change-Id: Ie9cb585200e10c8c68866b53ef7f5a020c892c41
diff --git a/common/multi_range_http_fetcher.cc b/common/multi_range_http_fetcher.cc
index 1189fde..dc4b7c1 100644
--- a/common/multi_range_http_fetcher.cc
+++ b/common/multi_range_http_fetcher.cc
@@ -101,6 +101,12 @@
LOG_IF(WARNING, next_size <= 0) << "Asked to write length <= 0";
if (delegate_) {
delegate_->ReceivedBytes(this, bytes, next_size);
+ // If the transfer was already terminated by |delegate_|, return immediately
+ // to avoid calling TerminateTransfer() again.
+ if (!base_fetcher_active_) {
+ LOG(INFO) << "Delegate has terminated the transfer.";
+ return;
+ }
}
bytes_received_this_range_ += length;
if (range.HasLength() && bytes_received_this_range_ >= range.length()) {