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()) {