setupx.dll16: Avoid strcmp() result truncation (Coverity).

This commit is contained in:
Marcus Meissner 2012-07-07 11:52:22 +02:00 committed by Alexandre Julliard
parent aa58bcfec9
commit a181e4dfe9
1 changed files with 9 additions and 1 deletions

View File

@ -591,9 +591,17 @@ static void VCP_UI_RegisterProgressClass(void)
static RETERR16 VCP_UI_NodeCompare(LPVIRTNODE vn1, LPVIRTNODE vn2) static RETERR16 VCP_UI_NodeCompare(LPVIRTNODE vn1, LPVIRTNODE vn2)
{ {
LPCSTR file1, file2; LPCSTR file1, file2;
int ret;
file1 = vsmGetStringRawName16(vn1->vfsSrc.vhstrFileName); file1 = vsmGetStringRawName16(vn1->vfsSrc.vhstrFileName);
file2 = vsmGetStringRawName16(vn2->vfsSrc.vhstrFileName); file2 = vsmGetStringRawName16(vn2->vfsSrc.vhstrFileName);
return (RETERR16)strcmp(file1, file2);
ret = strcmp(file1, file2);
/* Looks too complicated, but in optimized strcpy we might get
* a 32bit wide difference and would truncate it to 16 bit, so
* erroneously returning equality. */
if (ret < 0) return -1;
if (ret > 0) return 1;
return 0;
} }
static RETERR16 VCP_UI_CopyStart(void) static RETERR16 VCP_UI_CopyStart(void)