浏览代码

fix possible memory corruption

Wei Mingzhi 9 年之前
父节点
当前提交
7ab456e25d
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      font.c

+ 6 - 0
font.c

@@ -300,6 +300,8 @@ PAL_DrawASCIICharOnSurface(
    //
    // Draw the character to the surface.
    //
+   if (y >= lpSurface->h) return;
+
    y *= lpSurface->pitch;
    for (i = 0; i < 15; i++)
    {
@@ -313,6 +315,10 @@ PAL_DrawASCIICharOnSurface(
          dx++;
       }
       y += lpSurface->pitch;
+      if (y / lpSurface->pitch >= lpSurface->h)
+      {
+         break;
+      }
    }
 }