Static analysis fix: division by zero.

This commit is contained in:
Ryan C. Gordon 2014-03-19 18:25:21 -04:00
parent 546cb8901e
commit e84fc5a368
1 changed files with 6 additions and 1 deletions

View File

@ -1274,11 +1274,16 @@ SDL_SW_CopyYUVToRGB(SDL_SW_YUVTexture * swdata, const SDL_Rect * srcrect,
Uint32 target_format, int w, int h, void *pixels, Uint32 target_format, int w, int h, void *pixels,
int pitch) int pitch)
{ {
const int targetbpp = SDL_BYTESPERPIXEL(target_format);
int stretch; int stretch;
int scale_2x; int scale_2x;
Uint8 *lum, *Cr, *Cb; Uint8 *lum, *Cr, *Cb;
int mod; int mod;
if (targetbpp == 0) {
return SDL_SetError("Invalid target pixel format");
}
/* Make sure we're set up to display in the desired format */ /* Make sure we're set up to display in the desired format */
if (target_format != swdata->target_format) { if (target_format != swdata->target_format) {
if (SDL_SW_SetupYUVDisplay(swdata, target_format) < 0) { if (SDL_SW_SetupYUVDisplay(swdata, target_format) < 0) {
@ -1366,7 +1371,7 @@ SDL_SW_CopyYUVToRGB(SDL_SW_YUVTexture * swdata, const SDL_Rect * srcrect,
default: default:
return SDL_SetError("Unsupported YUV format in copy"); return SDL_SetError("Unsupported YUV format in copy");
} }
mod = (pitch / SDL_BYTESPERPIXEL(target_format)); mod = (pitch / targetbpp);
if (scale_2x) { if (scale_2x) {
mod -= (swdata->w * 2); mod -= (swdata->w * 2);