Browse Source

fix possible memory corruption

Wei Mingzhi 9 years ago
parent
commit
7ab456e25d
1 changed files with 6 additions and 0 deletions
  1. 6 0
      font.c

+ 6 - 0
font.c

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