浏览代码

Implement requested changes

Cacodemon345 4 年之前
父节点
当前提交
69a600b00e
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      src/video/kmsdrm/SDL_kmsdrmvideo.c

+ 7 - 2
src/video/kmsdrm/SDL_kmsdrmvideo.c

@@ -1373,8 +1373,13 @@ KMSDRM_SetWindowGammaRamp(_THIS, SDL_Window * window, const Uint16 * ramp)
     SDL_VideoData *viddata = (SDL_VideoData*)windata->viddata;
     SDL_VideoDisplay *disp = SDL_GetDisplayForWindow(window);
     SDL_DisplayData* dispdata = (SDL_DisplayData*)disp->driverdata;
-    Uint16* tempRamp = SDL_calloc(3 * 2,256);
-    SDL_memcpy(tempRamp,ramp,3 * 2 * 256);
+    Uint16* tempRamp = SDL_calloc(3 * sizeof(Uint16),256);
+    if (tempRamp == NULL)
+    {
+        SDL_OutOfMemory();
+        return -1;
+    }
+    SDL_memcpy(tempRamp,ramp,3 * sizeof(Uint16) * 256);
     if (KMSDRM_drmModeCrtcSetGamma(viddata->drm_fd, dispdata->crtc->crtc_id, 256, &tempRamp[0*256], &tempRamp[1*256], &tempRamp[2*256]) == -1)
     {
         SDL_free(tempRamp);