Adds test coverage for the nul char appearing in header field names or values.

PiperOrigin-RevId: 431725966
diff --git a/http2/adapter/header_validator_test.cc b/http2/adapter/header_validator_test.cc
index 52148df..d1fd642 100644
--- a/http2/adapter/header_validator_test.cc
+++ b/http2/adapter/header_validator_test.cc
@@ -60,6 +60,15 @@
           v.ValidateSingleHeader(name, "value");
       EXPECT_EQ(HeaderValidator::HEADER_FIELD_INVALID, status);
     }
+    // Test nul separately.
+    {
+      const absl::string_view name = is_pseudo_header
+                                         ? absl::string_view(":met\0hod", 8)
+                                         : absl::string_view("na\0me", 5);
+      HeaderValidator::HeaderStatus status =
+          v.ValidateSingleHeader(name, "value");
+      EXPECT_EQ(HeaderValidator::HEADER_FIELD_INVALID, status);
+    }
     // Uppercase characters in header names should not be allowed.
     const std::string uc_name = is_pseudo_header ? ":Method" : "Name";
     HeaderValidator::HeaderStatus status =
@@ -83,6 +92,12 @@
         v.ValidateSingleHeader("name", absl::StrCat("val", c, "ue"));
     EXPECT_EQ(HeaderValidator::HEADER_FIELD_INVALID, status);
   }
+  // Test nul separately.
+  {
+    HeaderValidator::HeaderStatus status =
+        v.ValidateSingleHeader("name", absl::string_view("val\0ue", 6));
+    EXPECT_EQ(HeaderValidator::HEADER_FIELD_INVALID, status);
+  }
 }
 
 TEST(HeaderValidatorTest, StatusHasInvalidChar) {