[PATCH] ImmSetCompositionString: sanity check dwIndex
Marcus Meissner
marcus at jet.franken.de
Sun Oct 5 04:46:30 CDT 2008
Hi,
Sanity check dwIndex in ImmSetCompositionString* before
using it further, return FALSE if not unknown.
Should speed up Fantasy IX.
Ciao, Marcus
---
dlls/imm32/imm.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c
index 2c9489a..7f13753 100644
--- a/dlls/imm32/imm.c
+++ b/dlls/imm32/imm.c
@@ -2002,6 +2002,14 @@ BOOL WINAPI ImmSetCompositionStringA(
TRACE("(%p, %d, %p, %d, %p, %d):\n",
hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen);
+ if (dwIndex != SCS_SETSTR && dwIndex != SCS_CHANGEATTR && dwIndex !=
+ SCS_CHANGECLAUSE && dwIndex != SCS_SETRECONVERTSTRING && dwIndex !=
+ SCS_QUERYRECONVERTSTRING)
+ {
+ TRACE("Invalid dwIndex %d parameter specified\n", dwIndex);
+ return FALSE;
+ }
+
if (!data)
return FALSE;
@@ -2050,6 +2058,14 @@ BOOL WINAPI ImmSetCompositionStringW(
TRACE("(%p, %d, %p, %d, %p, %d):\n",
hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen);
+ if (dwIndex != SCS_SETSTR && dwIndex != SCS_CHANGEATTR && dwIndex !=
+ SCS_CHANGECLAUSE && dwIndex != SCS_SETRECONVERTSTRING && dwIndex !=
+ SCS_QUERYRECONVERTSTRING)
+ {
+ TRACE("Invalid dwIndex %d parameter specified\n", dwIndex);
+ return FALSE;
+ }
+
if (!data)
return FALSE;
--
1.5.6
More information about the wine-patches
mailing list