This fixes a UBSAN warning later in this function where it calculates (1 << SDL_BITSPERPIXEL(surface->format)). The bpp might be >= 32 and out of range for a bit shift.
@@ -423,7 +423,7 @@ SDL_Palette *SDL_CreateSurfacePalette(SDL_Surface *surface)
bool SDL_SetSurfacePalette(SDL_Surface *surface, SDL_Palette *palette)
{
- CHECK_PARAM(!SDL_SurfaceValid(surface)) {
+ CHECK_PARAM(!SDL_SurfaceValid(surface) || !SDL_ISPIXELFORMAT_INDEXED(surface->format)) {
return SDL_InvalidParamError("surface");
}