diff --git a/quic/core/crypto/key_exchange.cc b/quic/core/crypto/key_exchange.cc
index c4e66c8..c97d5dd 100644
--- a/quic/core/crypto/key_exchange.cc
+++ b/quic/core/crypto/key_exchange.cc
@@ -31,10 +31,8 @@
   switch (type) {
     case kC255:
       return Curve25519KeyExchange::New(rand);
-      break;
     case kP256:
       return P256KeyExchange::New();
-      break;
     default:
       QUIC_BUG(quic_bug_10712_2)
           << "Unknown key exchange method: " << QuicTagToString(type);
diff --git a/quic/core/qpack/qpack_instruction_decoder.cc b/quic/core/qpack/qpack_instruction_decoder.cc
index 495a58f..acd52c2 100644
--- a/quic/core/qpack/qpack_instruction_decoder.cc
+++ b/quic/core/qpack/qpack_instruction_decoder.cc
@@ -86,8 +86,6 @@
       return true;
     }
   }
-
-  return true;
 }
 
 bool QpackInstructionDecoder::AtInstructionBoundary() const {
diff --git a/quic/core/quic_types.cc b/quic/core/quic_types.cc
index 57163ab..f578bb4 100644
--- a/quic/core/quic_types.cc
+++ b/quic/core/quic_types.cc
@@ -225,7 +225,6 @@
         return "INVALID_TRANSMISSION_TYPE";
       }
       return absl::StrCat("Unknown(", static_cast<int>(transmission_type), ")");
-      break;
   }
 }
 
@@ -267,7 +266,6 @@
     RETURN_STRING_LITERAL(MESSAGE_STATUS_INTERNAL_ERROR);
     default:
       return absl::StrCat("Unknown(", static_cast<int>(message_status), ")");
-      break;
   }
 }
 
@@ -292,7 +290,6 @@
     default:
       return absl::StrCat("Unknown(", static_cast<int>(packet_number_space),
                           ")");
-      break;
   }
 }
 
@@ -320,7 +317,6 @@
     RETURN_STRING_LITERAL(ENCRYPTION_FORWARD_SECURE);
     default:
       return absl::StrCat("Unknown(", static_cast<int>(level), ")");
-      break;
   }
 }
 
@@ -336,7 +332,6 @@
     RETURN_STRING_LITERAL(IETF_QUIC_APPLICATION_CONNECTION_CLOSE);
     default:
       return absl::StrCat("Unknown(", static_cast<int>(type), ")");
-      break;
   }
 }
 
@@ -378,7 +373,6 @@
     RETURN_REASON_LITERAL(kLocalKeyUpdateLimitOverride);
     default:
       return absl::StrCat("Unknown(", static_cast<int>(reason), ")");
-      break;
   }
 #undef RETURN_REASON_LITERAL
 }
