Fixed bug 4968 - NULL passed to memcpy in WriteProprietary in SDL_hidapi_switch.c

meyraud705

In SDL_hidapi_switch.c

line 443: Function BTrySetupUSB call WriteProprietary with pBuf=NULL and ucLen=0
line 376: WriteProprietary check its input (!pBuf && ucLen > 0) || ucLen > sizeof(packet.rgucProprietaryData): ucLen is 0 so it passes
line 382: WriteProprietary call memcpy with pBuf=NULL
This commit is contained in:
Sam Lantinga 2020-02-07 11:49:56 -08:00
parent dd0ebfdf8b
commit 833f76ab7b

View File

@ -391,7 +391,9 @@ static SDL_bool WriteProprietary(SDL_DriverSwitch_Context *ctx, ESwitchProprieta
packet.ucPacketType = k_eSwitchOutputReportIDs_Proprietary; packet.ucPacketType = k_eSwitchOutputReportIDs_Proprietary;
packet.ucProprietaryID = ucCommand; packet.ucProprietaryID = ucCommand;
SDL_memcpy(packet.rgucProprietaryData, pBuf, ucLen); if (pBuf) {
SDL_memcpy(packet.rgucProprietaryData, pBuf, ucLen);
}
if (!WritePacket(ctx, &packet, sizeof(packet))) { if (!WritePacket(ctx, &packet, sizeof(packet))) {
continue; continue;