From 5da86f5a72e4a54a7dba7271c49a68e6597edd6f Mon Sep 17 00:00:00 2001 From: Francis Tsui Date: Wed, 12 Mar 2025 13:22:59 -0700 Subject: [PATCH] Fix UB when HttpStatus code is not one in the enum. PiperOrigin-RevId: 736244405 --- internal/network/http_status_code.cc | 2 ++ internal/network/http_status_code_test.cc | 2 ++ 2 files changed, 4 insertions(+) diff --git a/internal/network/http_status_code.cc b/internal/network/http_status_code.cc index eae94fa7..035d3224 100644 --- a/internal/network/http_status_code.cc +++ b/internal/network/http_status_code.cc @@ -109,6 +109,8 @@ absl::string_view GetHttpReasonPhrase(HttpStatusCode code) { return "Gateway Timeout"; case HttpStatusCode::kHttpVersionNotSupported: return "HTTP Version Not Supported"; + default: + return "Unknown HTTP status code"; } } diff --git a/internal/network/http_status_code_test.cc b/internal/network/http_status_code_test.cc index 3179281c..cf6deea9 100644 --- a/internal/network/http_status_code_test.cc +++ b/internal/network/http_status_code_test.cc @@ -100,6 +100,8 @@ TEST(HttpStatusCode, TestReturnCorrectReasonPhrase) { "HTTP Version Not Supported"); EXPECT_EQ(GetHttpReasonPhrase(HttpStatusCode::kHttpRequestUriTooLong), "Request-URI Too Long"); + EXPECT_EQ(GetHttpReasonPhrase(static_cast(600)), + "Unknown HTTP status code"); } } // namespace