diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc
index 626166f..15aa2cb 100644
--- a/quic/core/http/end_to_end_test.cc
+++ b/quic/core/http/end_to_end_test.cc
@@ -3881,7 +3881,7 @@
   SendSynchronousFooRequestAndCheckResponse();
 
   // Packet with invalid public flags.
-  char packet[] = {
+  uint8_t packet[] = {
       // invalid public flags
       0xFF,
       // connection_id
@@ -3904,7 +3904,7 @@
       0x00,
   };
   client_writer_->WritePacket(
-      &packet[0], sizeof(packet),
+      reinterpret_cast<const char*>(packet), sizeof(packet),
       client_->client()->network_helper()->GetLatestClientAddress().host(),
       server_address_, nullptr);
 
diff --git a/quic/tools/quic_simple_server_stream_test.cc b/quic/tools/quic_simple_server_stream_test.cc
index 86aea67..4154a2d 100644
--- a/quic/tools/quic_simple_server_stream_test.cc
+++ b/quic/tools/quic_simple_server_stream_test.cc
@@ -722,27 +722,27 @@
 
 TEST_P(QuicSimpleServerStreamTest, InvalidHeadersWithFin) {
   char arr[] = {
-      0x3a, 0x68, 0x6f, 0x73,  // :hos
-      0x74, 0x00, 0x00, 0x00,  // t...
-      0x00, 0x00, 0x00, 0x00,  // ....
-      0x07, 0x3a, 0x6d, 0x65,  // .:me
-      0x74, 0x68, 0x6f, 0x64,  // thod
-      0x00, 0x00, 0x00, 0x03,  // ....
-      0x47, 0x45, 0x54, 0x00,  // GET.
-      0x00, 0x00, 0x05, 0x3a,  // ...:
-      0x70, 0x61, 0x74, 0x68,  // path
-      0x00, 0x00, 0x00, 0x04,  // ....
-      0x2f, 0x66, 0x6f, 0x6f,  // /foo
-      0x00, 0x00, 0x00, 0x07,  // ....
-      0x3a, 0x73, 0x63, 0x68,  // :sch
-      0x65, 0x6d, 0x65, 0x00,  // eme.
-      0x00, 0x00, 0x00, 0x00,  // ....
-      0x00, 0x00, 0x08, 0x3a,  // ...:
-      0x76, 0x65, 0x72, 0x73,  // vers
-      0x96, 0x6f, 0x6e, 0x00,  // <i(69)>on.
-      0x00, 0x00, 0x08, 0x48,  // ...H
-      0x54, 0x54, 0x50, 0x2f,  // TTP/
-      0x31, 0x2e, 0x31,        // 1.1
+      0x3a,   0x68, 0x6f, 0x73,  // :hos
+      0x74,   0x00, 0x00, 0x00,  // t...
+      0x00,   0x00, 0x00, 0x00,  // ....
+      0x07,   0x3a, 0x6d, 0x65,  // .:me
+      0x74,   0x68, 0x6f, 0x64,  // thod
+      0x00,   0x00, 0x00, 0x03,  // ....
+      0x47,   0x45, 0x54, 0x00,  // GET.
+      0x00,   0x00, 0x05, 0x3a,  // ...:
+      0x70,   0x61, 0x74, 0x68,  // path
+      0x00,   0x00, 0x00, 0x04,  // ....
+      0x2f,   0x66, 0x6f, 0x6f,  // /foo
+      0x00,   0x00, 0x00, 0x07,  // ....
+      0x3a,   0x73, 0x63, 0x68,  // :sch
+      0x65,   0x6d, 0x65, 0x00,  // eme.
+      0x00,   0x00, 0x00, 0x00,  // ....
+      0x00,   0x00, 0x08, 0x3a,  // ...:
+      0x76,   0x65, 0x72, 0x73,  // vers
+      '\x96', 0x6f, 0x6e, 0x00,  // <i(69)>on.
+      0x00,   0x00, 0x08, 0x48,  // ...H
+      0x54,   0x54, 0x50, 0x2f,  // TTP/
+      0x31,   0x2e, 0x31,        // 1.1
   };
   absl::string_view data(arr, ABSL_ARRAYSIZE(arr));
   QuicStreamFrame frame(stream_->id(), true, 0, data);
