Fixed crash if the input data pitch is larger than the locked texture pitch
diff --git a/src/render/direct3d/SDL_render_d3d.c b/src/render/direct3d/SDL_render_d3d.c
index afa6fe9..0caa8d2 100644
--- a/src/render/direct3d/SDL_render_d3d.c
+++ b/src/render/direct3d/SDL_render_d3d.c
@@ -1009,6 +1009,12 @@ D3D_UpdateTextureInternal(IDirect3DTexture9 *texture, Uint32 format, SDL_bool fu
if (length == pitch && length == locked.Pitch) {
SDL_memcpy(dst, src, length*h);
} else {
+ if (length > pitch) {
+ length = pitch;
+ }
+ if (length > locked.Pitch) {
+ length = locked.Pitch;
+ }
for (row = 0; row < h; ++row) {
SDL_memcpy(dst, src, length);
src += pitch;