فهرست منبع

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

Sam Lantinga 12 سال پیش
والد
کامیت
8db4c5a9d3
1فایلهای تغییر یافته به همراه6 افزوده شده و 0 حذف شده
  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;