diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index e35a49a..90f4370 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -5706,9 +5706,9 @@
     const uint64_t ack_range = iter->Length() - 1;
 
     if (writer->remaining() < ecn_size ||
-        static_cast<size_t>(writer->remaining() - ecn_size) <
-            QuicDataWriter::GetVarInt62Len(gap) +
-                QuicDataWriter::GetVarInt62Len(ack_range)) {
+        writer->remaining() - ecn_size <
+            static_cast<size_t>(QuicDataWriter::GetVarInt62Len(gap) +
+                                QuicDataWriter::GetVarInt62Len(ack_range))) {
       // ACK range does not fit, truncate it.
       break;
     }
diff --git a/quic/test_tools/qpack/qpack_test_utils.cc b/quic/test_tools/qpack/qpack_test_utils.cc
index faaddcb..65636d5 100644
--- a/quic/test_tools/qpack/qpack_test_utils.cc
+++ b/quic/test_tools/qpack/qpack_test_utils.cc
@@ -5,6 +5,7 @@
 #include "net/third_party/quiche/src/quic/test_tools/qpack/qpack_test_utils.h"
 
 #include <limits>
+#include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h"
 
 namespace quic {
 namespace test {
@@ -17,6 +18,8 @@
     case FragmentMode::kOctetByOctet:
       return []() { return 1; };
   }
+  QUIC_BUG << "Unknown FragmentMode " << static_cast<int>(fragment_mode);
+  return []() { return 0; };
 }
 
 }  // namespace test
diff --git a/spdy/core/hpack/hpack_header_table.cc b/spdy/core/hpack/hpack_header_table.cc
index 11f005b..8adbf43 100644
--- a/spdy/core/hpack/hpack_header_table.cc
+++ b/spdy/core/hpack/hpack_header_table.cc
@@ -253,7 +253,7 @@
     SPDY_DVLOG(2) << "  " << entry->GetDebugString();
   }
   SPDY_DVLOG(2) << "Full Static Name Index:";
-  for (const auto it : static_name_index_) {
+  for (const auto& it : static_name_index_) {
     SPDY_DVLOG(2) << "  " << it.first << ": " << it.second->GetDebugString();
   }
   SPDY_DVLOG(2) << "Full Dynamic Index:";
@@ -261,7 +261,7 @@
     SPDY_DVLOG(2) << "  " << entry->GetDebugString();
   }
   SPDY_DVLOG(2) << "Full Dynamic Name Index:";
-  for (const auto it : dynamic_name_index_) {
+  for (const auto& it : dynamic_name_index_) {
     SPDY_DVLOG(2) << "  " << it.first << ": " << it.second->GetDebugString();
   }
 }
