[PATCH] version: LZCopy return value is LONG
Marcus Meissner
marcus at jet.franken.de
Mon Mar 24 06:37:33 CDT 2008
Hi,
Coverity CID 5 shows a sign issue between
return value of LZCopy and casted later on.
Fixed the sign issues.
Ciao, Marcus
---
dlls/version/install.c | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/dlls/version/install.c b/dlls/version/install.c
index 5ff25e7..d3170e3 100644
--- a/dlls/version/install.c
+++ b/dlls/version/install.c
@@ -367,7 +367,8 @@ DWORD WINAPI VerInstallFileA(
LPCSTR pdest;
char destfn[260],tmpfn[260],srcfn[260];
HFILE hfsrc,hfdst;
- DWORD attr,ret,xret,tmplast;
+ DWORD attr,xret,tmplast;
+ LONG ret;
LPBYTE buf1,buf2;
OFSTRUCT ofs;
@@ -419,30 +420,31 @@ DWORD WINAPI VerInstallFileA(
}
ret = LZCopy(hfsrc,hfdst);
_lclose(hfdst);
- if (((LONG)ret) < 0) {
+ if (ret < 0) {
/* translate LZ errors into VIF_xxx */
switch (ret) {
case LZERROR_BADINHANDLE:
case LZERROR_READ:
case LZERROR_BADVALUE:
case LZERROR_UNKNOWNALG:
- ret = VIF_CANNOTREADSRC;
+ xret = VIF_CANNOTREADSRC;
break;
case LZERROR_BADOUTHANDLE:
case LZERROR_WRITE:
- ret = VIF_OUTOFSPACE;
+ xret = VIF_OUTOFSPACE;
break;
case LZERROR_GLOBALLOC:
case LZERROR_GLOBLOCK:
- ret = VIF_OUTOFMEMORY;
+ xret = VIF_OUTOFMEMORY;
break;
default: /* unknown error, should not happen */
- ret = 0;
+ FIXME("Unknown LZCopy error %d, ignoring.\n", ret);
+ xret = 0;
break;
}
- if (ret) {
+ if (xret) {
LZClose(hfsrc);
- return ret;
+ return xret;
}
}
}
--
1.5.2.4
More information about the wine-patches
mailing list