diff --git a/win32ss/user/imm32/guideline.c b/win32ss/user/imm32/guideline.c index a679e816e1e..c5bffd47dae 100644 --- a/win32ss/user/imm32/guideline.c +++ b/win32ss/user/imm32/guideline.c @@ -88,11 +88,16 @@ ImmGetGuideLineAW( } } - if (dwBufLen == 0 || cb == 0 || lpBuf == NULL || dwBufLen < cb) + if (dwBufLen == 0) { ret = cb; goto Quit; } + if (cb == 0 || lpBuf == NULL || dwBufLen < cb) + { + ret = 0; /* Error */ + goto Quit; + } /* store to buffer */ if (bAnsi) @@ -149,11 +154,16 @@ ImmGetGuideLineAW( } } - if (dwBufLen == 0 || cb == 0 || lpBuf == NULL || dwBufLen < cb) + if (dwBufLen == 0) { ret = cb; goto Quit; } + if (cb == 0 || lpBuf == NULL || dwBufLen < cb) + { + ret = 0; /* Error */ + goto Quit; + } /* store to buffer */ if (bAnsi)