From e66b83f8adff138247a030335360cba9f58704c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Mon, 30 May 2022 12:57:41 +0200 Subject: [PATCH] Never pass a signed char to ctype macros like isdigit() Bug: None Change-Id: I451bb2c1f175a77aefbc8363009bf35a769fe941 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264442 Reviewed-by: Tomas Gunnarsson Commit-Queue: Niels Moller Cr-Commit-Position: refs/heads/main@{#37037} --- examples/peerconnection/server/data_socket.cc | 1 - .../isac/main/test/ReleaseTest-API/ReleaseTest-API.cc | 2 +- modules/audio_coding/codecs/isac/main/test/simpleKenny.c | 1 - modules/audio_coding/test/PCMFile.cc | 8 ++++++-- modules/audio_coding/test/TwoWayCommunication.cc | 1 - modules/audio_coding/test/iSACTest.cc | 1 - .../win/full_screen_win_application_handler.cc | 1 - modules/rtp_rtcp/include/rtp_rtcp_defines.cc | 1 - pc/ice_server_parsing.cc | 2 +- pc/media_protocol_names.cc | 2 +- pc/rtc_stats_collector_unittest.cc | 1 - rtc_base/string_to_number.cc | 4 ++-- rtc_base/string_utils.h | 2 -- 13 files changed, 11 insertions(+), 16 deletions(-) diff --git a/examples/peerconnection/server/data_socket.cc b/examples/peerconnection/server/data_socket.cc index c57d992658..855ebd8c0c 100644 --- a/examples/peerconnection/server/data_socket.cc +++ b/examples/peerconnection/server/data_socket.cc @@ -10,7 +10,6 @@ #include "examples/peerconnection/server/data_socket.h" -#include #include #include #include diff --git a/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc b/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc index 57ebb54f44..ee72b07dc3 100644 --- a/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc +++ b/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc @@ -286,7 +286,7 @@ int main(int argc, char* argv[]) { /* Packet loss test */ if (!strcmp("-PL", argv[i])) { - if (isdigit(*argv[i + 1])) { + if (isdigit(static_cast(*argv[i + 1]))) { packetLossPercent = atoi(argv[i + 1]); if ((packetLossPercent < 0) | (packetLossPercent > 100)) { printf("\nInvalid packet loss perentage \n"); diff --git a/modules/audio_coding/codecs/isac/main/test/simpleKenny.c b/modules/audio_coding/codecs/isac/main/test/simpleKenny.c index 96b9b23004..4446ff7806 100644 --- a/modules/audio_coding/codecs/isac/main/test/simpleKenny.c +++ b/modules/audio_coding/codecs/isac/main/test/simpleKenny.c @@ -22,7 +22,6 @@ #endif #endif -#include #include /* include API */ diff --git a/modules/audio_coding/test/PCMFile.cc b/modules/audio_coding/test/PCMFile.cc index 659f9688c7..9ccfa49117 100644 --- a/modules/audio_coding/test/PCMFile.cc +++ b/modules/audio_coding/test/PCMFile.cc @@ -62,7 +62,9 @@ int16_t PCMFile::ChooseFile(std::string* file_name, int16_t n = 0; // Removing trailing spaces. - while ((isspace(tmp_name[n]) || iscntrl(tmp_name[n])) && (tmp_name[n] != 0) && + while ((isspace(static_cast(tmp_name[n])) || + iscntrl(static_cast(tmp_name[n]))) && + (static_cast(tmp_name[n]) != 0) && (n < MAX_FILE_NAME_LENGTH_BYTE)) { n++; } @@ -73,7 +75,9 @@ int16_t PCMFile::ChooseFile(std::string* file_name, // Removing trailing spaces. n = (int16_t)(strlen(tmp_name) - 1); if (n >= 0) { - while ((isspace(tmp_name[n]) || iscntrl(tmp_name[n])) && (n >= 0)) { + while ((isspace(static_cast(tmp_name[n])) || + iscntrl(static_cast(tmp_name[n]))) && + (n >= 0)) { n--; } } diff --git a/modules/audio_coding/test/TwoWayCommunication.cc b/modules/audio_coding/test/TwoWayCommunication.cc index 91dbfd6f2c..b42415a21a 100644 --- a/modules/audio_coding/test/TwoWayCommunication.cc +++ b/modules/audio_coding/test/TwoWayCommunication.cc @@ -10,7 +10,6 @@ #include "TwoWayCommunication.h" -#include #include #include diff --git a/modules/audio_coding/test/iSACTest.cc b/modules/audio_coding/test/iSACTest.cc index 52f5a6ad4f..3e5184269b 100644 --- a/modules/audio_coding/test/iSACTest.cc +++ b/modules/audio_coding/test/iSACTest.cc @@ -10,7 +10,6 @@ #include "modules/audio_coding/test/iSACTest.h" -#include #include #include diff --git a/modules/desktop_capture/win/full_screen_win_application_handler.cc b/modules/desktop_capture/win/full_screen_win_application_handler.cc index 4222dfc01e..f7047dba06 100644 --- a/modules/desktop_capture/win/full_screen_win_application_handler.cc +++ b/modules/desktop_capture/win/full_screen_win_application_handler.cc @@ -11,7 +11,6 @@ #include "modules/desktop_capture/win/full_screen_win_application_handler.h" #include -#include #include #include #include diff --git a/modules/rtp_rtcp/include/rtp_rtcp_defines.cc b/modules/rtp_rtcp/include/rtp_rtcp_defines.cc index 78e730f3c9..0f527919ce 100644 --- a/modules/rtp_rtcp/include/rtp_rtcp_defines.cc +++ b/modules/rtp_rtcp/include/rtp_rtcp_defines.cc @@ -10,7 +10,6 @@ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" -#include #include #include diff --git a/pc/ice_server_parsing.cc b/pc/ice_server_parsing.cc index 73cb8a0f68..29127c5c91 100644 --- a/pc/ice_server_parsing.cc +++ b/pc/ice_server_parsing.cc @@ -92,7 +92,7 @@ static bool GetServiceTypeAndHostnameFromUri(const std::string& in_str, static bool ParsePort(const std::string& in_str, int* port) { // Make sure port only contains digits. FromString doesn't check this. for (const char& c : in_str) { - if (!std::isdigit(c)) { + if (!std::isdigit(static_cast(c))) { return false; } } diff --git a/pc/media_protocol_names.cc b/pc/media_protocol_names.cc index 667535bcbd..52d676daf5 100644 --- a/pc/media_protocol_names.cc +++ b/pc/media_protocol_names.cc @@ -77,7 +77,7 @@ bool IsRtpProtocol(absl::string_view protocol) { return false; } // RTP must be at the beginning of a string or not preceded by alpha - if (pos == 0 || !isalpha(protocol[pos - 1])) { + if (pos == 0 || !isalpha(static_cast(protocol[pos - 1]))) { return true; } return false; diff --git a/pc/rtc_stats_collector_unittest.cc b/pc/rtc_stats_collector_unittest.cc index 889bd8ee78..c64c523adb 100644 --- a/pc/rtc_stats_collector_unittest.cc +++ b/pc/rtc_stats_collector_unittest.cc @@ -10,7 +10,6 @@ #include "pc/rtc_stats_collector.h" -#include #include #include diff --git a/rtc_base/string_to_number.cc b/rtc_base/string_to_number.cc index ab3f1abb8e..5ed6407f3f 100644 --- a/rtc_base/string_to_number.cc +++ b/rtc_base/string_to_number.cc @@ -24,7 +24,7 @@ absl::optional ParseSigned(absl::string_view str, int base) { if (str.empty()) return absl::nullopt; - if (isdigit(str[0]) || str[0] == '-') { + if (isdigit(static_cast(str[0])) || str[0] == '-') { std::string str_str = std::string(str); char* end = nullptr; errno = 0; @@ -42,7 +42,7 @@ absl::optional ParseUnsigned(absl::string_view str, int base) { if (str.empty()) return absl::nullopt; - if (isdigit(str[0]) || str[0] == '-') { + if (isdigit(static_cast(str[0])) || str[0] == '-') { std::string str_str = std::string(str); // Explicitly discard negative values. std::strtoull parsing causes unsigned // wraparound. We cannot just reject values that start with -, though, since diff --git a/rtc_base/string_utils.h b/rtc_base/string_utils.h index d062675a94..9534d59e04 100644 --- a/rtc_base/string_utils.h +++ b/rtc_base/string_utils.h @@ -11,8 +11,6 @@ #ifndef RTC_BASE_STRING_UTILS_H_ #define RTC_BASE_STRING_UTILS_H_ -#include -#include #include #include