浏览代码

fixed possible memory corruption

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

+ 10 - 0
font.c

@@ -237,11 +237,21 @@ PAL_DrawCharOnSurface(
          if (pChar[i] & (1 << (7 - j)))
          {
             if (dx < lpSurface->w)
+			{
                ((LPBYTE)(lpSurface->pixels))[y + dx] = bColor;
+			}
+			else
+			{
+			   break;
+			}
          }
          dx++;
       }
       y += (i & 1) * lpSurface->pitch;
+	  if (y / lpSurface->pitch > lpSurface->h)
+	  {
+		 break;
+	  }
    }
 }