cabinet: Fix NULL pointer dereference (Coverity)
Andrew Talbot
Andrew.Talbot at talbotville.com
Tue Sep 26 14:21:03 CDT 2006
Changelog:
cabinet: Fix NULL pointer dereference (Coverity).
diff -urN a/dlls/cabinet/fci.c b/dlls/cabinet/fci.c
--- a/dlls/cabinet/fci.c 2006-09-12 23:59:28.000000000 +0100
+++ b/dlls/cabinet/fci.c 2006-09-26 18:27:03.000000000 +0100
@@ -176,18 +176,22 @@
if ((!perf) || (!pfnalloc) || (!pfnfree) || (!pfnopen) || (!pfnread) ||
(!pfnwrite) || (!pfnclose) || (!pfnseek) || (!pfndelete) ||
(!pfnfcigtf) || (!pccab)) {
- perf->erfOper = FCIERR_NONE;
- perf->erfType = ERROR_BAD_ARGUMENTS;
- perf->fError = TRUE;
+ if (perf) {
+ perf->erfOper = FCIERR_NONE;
+ perf->erfType = ERROR_BAD_ARGUMENTS;
+ perf->fError = TRUE;
+ }
SetLastError(ERROR_BAD_ARGUMENTS);
return NULL;
}
if (!((hfci = ((HFCI) (*pfnalloc)(sizeof(FCI_Int)))))) {
- perf->erfOper = FCIERR_ALLOC_FAIL;
- perf->erfType = ERROR_NOT_ENOUGH_MEMORY;
- perf->fError = TRUE;
+ if (perf) {
+ perf->erfOper = FCIERR_ALLOC_FAIL;
+ perf->erfType = ERROR_NOT_ENOUGH_MEMORY;
+ perf->fError = TRUE;
+ }
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
return NULL;
More information about the wine-patches
mailing list