Fix invalid serial numbers crashing the python interface.

(cherry picked from commit a5ff98940cbe2e91ecaf2445febd87e373f35723)
This commit is contained in:
shawnc722 2021-04-29 02:00:47 -04:00 committed by Adam Honse
parent 13b1da9d64
commit b3e1cc6552
4 changed files with 23 additions and 4 deletions

View file

@ -66,7 +66,12 @@ char* SteelSeriesOldApexController::GetDeviceName()
std::string SteelSeriesOldApexController::GetSerialString()
{
wchar_t serial_string[128];
hid_get_serial_number_string(dev, serial_string, 128);
int ret = hid_get_serial_number_string(dev, serial_string, 128);
if (ret != 0)
{
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());

View file

@ -57,7 +57,12 @@ char* SteelSeriesRivalController::GetDeviceName()
std::string SteelSeriesRivalController::GetSerialString()
{
wchar_t serial_string[128];
hid_get_serial_number_string(dev, serial_string, 128);
int ret = hid_get_serial_number_string(dev, serial_string, 128);
if (ret != 0)
{
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());

View file

@ -57,7 +57,11 @@ char* SteelSeriesSenseiController::GetDeviceName()
std::string SteelSeriesSenseiController::GetSerialString()
{
wchar_t serial_string[128];
hid_get_serial_number_string(dev, serial_string, 128);
int ret = hid_get_serial_number_string(dev, serial_string, 128);
if (ret != 0)
{
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());

View file

@ -61,7 +61,12 @@ char* SteelSeriesSiberiaController::GetDeviceName()
std::string SteelSeriesSiberiaController::GetSerialString()
{
wchar_t serial_string[128];
hid_get_serial_number_string(dev, serial_string, 128);
int ret = hid_get_serial_number_string(dev, serial_string, 128);
if (ret != 0)
{
return("");
}
std::wstring return_wstring = serial_string;
std::string return_string(return_wstring.begin(), return_wstring.end());