Forráskód Böngészése

Fixed crash if the input data pitch is larger than the locked texture pitch

Sam Lantinga 11 éve
szülő
commit
8db4c5a9d3
1 módosított fájl, 6 hozzáadás és 0 törlés
  1. 6 0
      src/render/direct3d/SDL_render_d3d.c

+ 6 - 0
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;