From 2c6faf079c6704e9dcc69b63819ae2c6e5403448 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 17 Nov 2021 21:31:41 +1100 Subject: [PATCH] Adding sanity check to razer_get_serial to resolve #1939 * Check serial_string to ensure only ASCII characters are returned Commit amended to remove unnecessary logging by Adam Honse --- Controllers/RazerController/RazerController.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Controllers/RazerController/RazerController.cpp b/Controllers/RazerController/RazerController.cpp index 08b7a6935..3989e005f 100644 --- a/Controllers/RazerController/RazerController.cpp +++ b/Controllers/RazerController/RazerController.cpp @@ -1033,6 +1033,14 @@ std::string RazerController::razer_get_serial() strncpy(&serial_string[0], (const char*)&response_report.arguments[0], 22); serial_string[22] = '\0'; + for(size_t i = 0; i < 22; i++) + { + if(serial_string[i] < 30 || serial_string[i] > 126) + { + serial_string[i] = ' '; + } + } + std::string ret_string = serial_string; return ret_string; }