Nikolay Sivov : gdi32: Prevent possible buffer overrun.

Alexandre Julliard julliard at winehq.org
Tue Oct 20 10:33:37 CDT 2009


Module: wine
Branch: master
Commit: dd0a7078e0acd55f9cc5ac0afbf6342af8a53ae4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=dd0a7078e0acd55f9cc5ac0afbf6342af8a53ae4

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Mon Oct 19 23:40:28 2009 +0400

gdi32: Prevent possible buffer overrun.

---

 dlls/gdi32/font.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c
index c81a9c8..ed64166 100644
--- a/dlls/gdi32/font.c
+++ b/dlls/gdi32/font.c
@@ -2596,13 +2596,13 @@ BOOL WINAPI TranslateCharsetInfo(
     int index = 0;
     switch (flags) {
     case TCI_SRCFONTSIG:
-	while (!(*lpSrc>>index & 0x0001) && index<MAXTCIINDEX) index++;
+      while (index < MAXTCIINDEX && !(*lpSrc>>index & 0x0001)) index++;
       break;
     case TCI_SRCCODEPAGE:
-      while (PtrToUlong(lpSrc) != FONT_tci[index].ciACP && index < MAXTCIINDEX) index++;
+      while (index < MAXTCIINDEX && PtrToUlong(lpSrc) != FONT_tci[index].ciACP) index++;
       break;
     case TCI_SRCCHARSET:
-      while (PtrToUlong(lpSrc) != FONT_tci[index].ciCharset && index < MAXTCIINDEX) index++;
+      while (index < MAXTCIINDEX && PtrToUlong(lpSrc) != FONT_tci[index].ciCharset) index++;
       break;
     default:
       return FALSE;




More information about the wine-cvs mailing list