Avoid terminating MultiRangeHttpFetcher twice. am: 7424199459
am: a95dfdb274

Change-Id: Iaeb683b9cad6dc69fde160e9a18ffdd0f6c2aa79
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()) {