Yet another round of redundand NULL checks before HeapFree (Smatch;
2nd try)
Michael Stefaniuc
mstefani at redhat.de
Sun Jun 11 17:11:36 CDT 2006
Hello,
this is the 2nd try with the false positive removed and a couple more
redundand NULL checks found.
bye
michael
---
dlls/avifil32/acmstream.c | 12 ++++--------
dlls/avifil32/avifile.c | 13 +++++--------
dlls/avifil32/getframe.c | 8 +++-----
dlls/avifil32/wavfile.c | 6 ++----
dlls/comdlg32/filedlg31.c | 2 +-
dlls/dbghelp/msc.c | 2 +-
dlls/ddraw/executebuffer.c | 2 +-
dlls/gdi/gdiobj.c | 2 +-
dlls/mciseq/mcimidi.c | 6 ++----
dlls/mpr/wnet.c | 2 +-
dlls/msvfw32/msvideo_main.c | 24 ++++++++----------------
dlls/ntdll/path.c | 2 +-
dlls/user/exticon.c | 4 ++--
dlls/user/listbox.c | 2 +-
14 files changed, 33 insertions(+), 54 deletions(-)
d7d16850da903fd640acca8be01955e147b76056
diff --git a/dlls/avifil32/acmstream.c b/dlls/avifil32/acmstream.c
index 92fa4ea..19dc981 100644
--- a/dlls/avifil32/acmstream.c
+++ b/dlls/avifil32/acmstream.c
@@ -175,14 +175,10 @@ static ULONG WINAPI ACMStream_fnRelease(
acmStreamClose(This->has, 0);
This->has = NULL;
}
- if (This->acmStreamHdr.pbSrc != NULL) {
- HeapFree(GetProcessHeap(), 0, This->acmStreamHdr.pbSrc);
- This->acmStreamHdr.pbSrc = NULL;
- }
- if (This->acmStreamHdr.pbDst != NULL) {
- HeapFree(GetProcessHeap(), 0, This->acmStreamHdr.pbDst);
- This->acmStreamHdr.pbDst = NULL;
- }
+ HeapFree(GetProcessHeap(), 0, This->acmStreamHdr.pbSrc);
+ This->acmStreamHdr.pbSrc = NULL;
+ HeapFree(GetProcessHeap(), 0, This->acmStreamHdr.pbDst);
+ This->acmStreamHdr.pbDst = NULL;
if (This->lpInFormat != NULL) {
HeapFree(GetProcessHeap(), 0, This->lpInFormat);
This->lpInFormat = NULL;
diff --git a/dlls/avifil32/avifile.c b/dlls/avifil32/avifile.c
index 7264469..1805623 100644
--- a/dlls/avifil32/avifile.c
+++ b/dlls/avifil32/avifile.c
@@ -326,10 +326,9 @@ static ULONG WINAPI IAVIFile_fnRelease(I
This->fileextra.cb = 0;
}
- if (This->szFileName != NULL) {
- HeapFree(GetProcessHeap(), 0, This->szFileName);
- This->szFileName = NULL;
- }
+ HeapFree(GetProcessHeap(), 0, This->szFileName);
+ This->szFileName = NULL;
+
if (This->hmmio != NULL) {
mmioClose(This->hmmio, 0);
This->hmmio = NULL;
@@ -1565,10 +1564,8 @@ static void AVIFILE_DestructAVIStream
This->idxFrames = NULL;
This->nIdxFrames = 0;
}
- if (This->idxFmtChanges != NULL) {
- HeapFree(GetProcessHeap(), 0, This->idxFmtChanges);
- This->idxFmtChanges = NULL;
- }
+ HeapFree(GetProcessHeap(), 0, This->idxFmtChanges);
+ This->idxFmtChanges = NULL;
if (This->lpBuffer != NULL) {
HeapFree(GetProcessHeap(), 0, This->lpBuffer);
This->lpBuffer = NULL;
diff --git a/dlls/avifil32/getframe.c b/dlls/avifil32/getframe.c
index 113f80c..172a0b0 100644
--- a/dlls/avifil32/getframe.c
+++ b/dlls/avifil32/getframe.c
@@ -97,14 +97,12 @@ typedef struct _IGetFrameImpl {
static void AVIFILE_CloseCompressor(IGetFrameImpl *This)
{
- if (This->lpOutFormat != NULL && This->lpInFormat != This->lpOutFormat) {
+ if (This->lpInFormat != This->lpOutFormat) {
HeapFree(GetProcessHeap(), 0, This->lpOutFormat);
This->lpOutFormat = NULL;
}
- if (This->lpInFormat != NULL) {
- HeapFree(GetProcessHeap(), 0, This->lpInFormat);
- This->lpInFormat = NULL;
- }
+ HeapFree(GetProcessHeap(), 0, This->lpInFormat);
+ This->lpInFormat = NULL;
if (This->hic != NULL) {
if (This->bResize)
ICDecompressExEnd(This->hic);
diff --git a/dlls/avifil32/wavfile.c b/dlls/avifil32/wavfile.c
index 376e104..8a0f6ab 100644
--- a/dlls/avifil32/wavfile.c
+++ b/dlls/avifil32/wavfile.c
@@ -297,10 +297,8 @@ static ULONG WINAPI IAVIFile_fnRelease(I
This->extra.lp = NULL;
This->extra.cb = 0;
}
- if (This->szFileName != NULL) {
- HeapFree(GetProcessHeap(), 0, This->szFileName);
- This->szFileName = NULL;
- }
+ HeapFree(GetProcessHeap(), 0, This->szFileName);
+ This->szFileName = NULL;
if (This->hmmio != NULL) {
mmioClose(This->hmmio, 0);
This->hmmio = NULL;
diff --git a/dlls/comdlg32/filedlg31.c b/dlls/comdlg32/filedlg31.c
index a283068..79141fa 100644
--- a/dlls/comdlg32/filedlg31.c
+++ b/dlls/comdlg32/filedlg31.c
@@ -764,7 +764,7 @@ void FD31_FreeOfnW(LPOPENFILENAMEW ofnW)
HeapFree(GetProcessHeap(), 0, ofnW->lpstrFileTitle);
HeapFree(GetProcessHeap(), 0, (LPWSTR) ofnW->lpstrInitialDir);
HeapFree(GetProcessHeap(), 0, (LPWSTR) ofnW->lpstrTitle);
- if ((ofnW->lpTemplateName) && (HIWORD(ofnW->lpTemplateName)))
+ if (HIWORD(ofnW->lpTemplateName))
HeapFree(GetProcessHeap(), 0, (LPWSTR) ofnW->lpTemplateName);
}
diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c
index 4f044fb..fb6b413 100644
--- a/dlls/dbghelp/msc.c
+++ b/dlls/dbghelp/msc.c
@@ -370,7 +370,7 @@ static void codeview_clear_type_table(vo
for (i = 0; i < CV_MAX_MODULES; i++)
{
- if (cv_zmodules[i].allowed && cv_zmodules[i].defined_types)
+ if (cv_zmodules[i].allowed)
HeapFree(GetProcessHeap(), 0, cv_zmodules[i].defined_types);
cv_zmodules[i].allowed = FALSE;
cv_zmodules[i].defined_types = NULL;
diff --git a/dlls/ddraw/executebuffer.c b/dlls/ddraw/executebuffer.c
index bcd0f45..274c2a0 100644
--- a/dlls/ddraw/executebuffer.c
+++ b/dlls/ddraw/executebuffer.c
@@ -536,7 +536,7 @@ Main_IDirect3DExecuteBufferImpl_1_Releas
TRACE("(%p/%p)->()decrementing from %lu.\n", This, iface, ref + 1);
if (!ref) {
- if ((This->desc.lpData != NULL) && This->need_free)
+ if (This->need_free)
HeapFree(GetProcessHeap(),0,This->desc.lpData);
HeapFree(GetProcessHeap(),0,This->vertex_data);
HeapFree(GetProcessHeap(),0,This->indices);
diff --git a/dlls/gdi/gdiobj.c b/dlls/gdi/gdiobj.c
index a4dfe79..24c20fc 100644
--- a/dlls/gdi/gdiobj.c
+++ b/dlls/gdi/gdiobj.c
@@ -732,7 +732,7 @@ BOOL GDI_FreeObject( HGDIOBJ handle, voi
object->wMagic = 0; /* Mark it as invalid */
object->funcs = NULL;
i = ((ULONG_PTR)handle >> 2) - FIRST_LARGE_HANDLE;
- if (i >= 0 && i < MAX_LARGE_HANDLES && large_handles[i])
+ if (i >= 0 && i < MAX_LARGE_HANDLES)
{
HeapFree( GetProcessHeap(), 0, large_handles[i] );
large_handles[i] = NULL;
diff --git a/dlls/mciseq/mcimidi.c b/dlls/mciseq/mcimidi.c
index 39131cc..fcf30e8 100644
--- a/dlls/mciseq/mcimidi.c
+++ b/dlls/mciseq/mcimidi.c
@@ -1231,10 +1231,8 @@ static DWORD MIDI_mciRecord(UINT wDevID,
TRACE("Before MIDM_UNPREPARE\n");
dwRet = midiInUnprepareHeader((HMIDIIN)wmm->hMidi, &midiHdr, sizeof(MIDIHDR));
TRACE("After MIDM_UNPREPARE\n");
- if (midiHdr.lpData != NULL) {
- HeapFree(GetProcessHeap(), 0, midiHdr.lpData);
- midiHdr.lpData = NULL;
- }
+ HeapFree(GetProcessHeap(), 0, midiHdr.lpData);
+ midiHdr.lpData = NULL;
wmm->dwStatus = MCI_MODE_STOP;
if (lpParms && (dwFlags & MCI_NOTIFY)) {
TRACE("MCI_NOTIFY_SUCCESSFUL %08lX !\n", lpParms->dwCallback);
diff --git a/dlls/mpr/wnet.c b/dlls/mpr/wnet.c
index 60a2a29..804b457 100644
--- a/dlls/mpr/wnet.c
+++ b/dlls/mpr/wnet.c
@@ -653,7 +653,7 @@ DWORD WINAPI WNetOpenEnumA( DWORD dwScop
if (ret == WN_SUCCESS)
ret = WNetOpenEnumW(dwScope, dwType, dwUsage, lpNetWide,
lphEnum);
- if (allocated && lpNetWide)
+ if (allocated)
HeapFree(GetProcessHeap(), 0, lpNetWide);
}
else
diff --git a/dlls/msvfw32/msvideo_main.c b/dlls/msvfw32/msvideo_main.c
index 4044ec5..5aa050a 100644
--- a/dlls/msvfw32/msvideo_main.c
+++ b/dlls/msvfw32/msvideo_main.c
@@ -1004,22 +1004,14 @@ void VFWAPI ICCompressorFree(PCOMPVARS p
ICClose(pc->hic);
pc->hic = NULL;
}
- if (pc->lpbiIn != NULL) {
- HeapFree(GetProcessHeap(), 0, pc->lpbiIn);
- pc->lpbiIn = NULL;
- }
- if (pc->lpBitsOut != NULL) {
- HeapFree(GetProcessHeap(), 0, pc->lpBitsOut);
- pc->lpBitsOut = NULL;
- }
- if (pc->lpBitsPrev != NULL) {
- HeapFree(GetProcessHeap(), 0, pc->lpBitsPrev);
- pc->lpBitsPrev = NULL;
- }
- if (pc->lpState != NULL) {
- HeapFree(GetProcessHeap(), 0, pc->lpState);
- pc->lpState = NULL;
- }
+ HeapFree(GetProcessHeap(), 0, pc->lpbiIn);
+ pc->lpbiIn = NULL;
+ HeapFree(GetProcessHeap(), 0, pc->lpBitsOut);
+ pc->lpBitsOut = NULL;
+ HeapFree(GetProcessHeap(), 0, pc->lpBitsPrev);
+ pc->lpBitsPrev = NULL;
+ HeapFree(GetProcessHeap(), 0, pc->lpState);
+ pc->lpState = NULL;
pc->dwFlags = 0;
}
}
diff --git a/dlls/ntdll/path.c b/dlls/ntdll/path.c
index cfe7fdb..e9286a0 100644
--- a/dlls/ntdll/path.c
+++ b/dlls/ntdll/path.c
@@ -802,7 +802,7 @@ static ULONG get_full_path_helper(LPCWST
if (reqsize) memcpy(buffer, ins_str, reqsize);
reqsize += deplen;
- if (ins_str && ins_str != tmp && ins_str != cd->Buffer)
+ if (ins_str != tmp && ins_str != cd->Buffer)
RtlFreeHeap(GetProcessHeap(), 0, ins_str);
collapse_path( buffer, mark );
diff --git a/dlls/user/exticon.c b/dlls/user/exticon.c
index ddc1ccd..485aef0 100644
--- a/dlls/user/exticon.c
+++ b/dlls/user/exticon.c
@@ -455,7 +455,7 @@ static UINT ICO_ExtractIconExW(
if (nIcons == 0)
{
ret = iconDirCount;
- if (lpiID && pCIDir) /* *.ico file, deallocate heap pointer*/
+ if (lpiID) /* *.ico file, deallocate heap pointer*/
HeapFree(GetProcessHeap(), 0, pCIDir);
}
else if (nIconIndex < iconDirCount)
@@ -472,7 +472,7 @@ static UINT ICO_ExtractIconExW(
pIconId[i] = LookupIconIdFromDirectoryEx(pCIDir, TRUE, cx1, cy1, flags);
if (cx2 && cy2) pIconId[++i] = LookupIconIdFromDirectoryEx(pCIDir, TRUE, cx2, cy2, flags);
}
- if (lpiID && pCIDir) /* *.ico file, deallocate heap pointer*/
+ if (lpiID) /* *.ico file, deallocate heap pointer*/
HeapFree(GetProcessHeap(), 0, pCIDir);
for (icon = 0; icon < nIcons; icon++)
diff --git a/dlls/user/listbox.c b/dlls/user/listbox.c
index 0b21a39..08c1eb7 100644
--- a/dlls/user/listbox.c
+++ b/dlls/user/listbox.c
@@ -1652,7 +1652,7 @@ static void LISTBOX_DeleteItem( LB_DESCR
dis.itemData = descr->items[index].data;
SendMessageW( descr->owner, WM_DELETEITEM, id, (LPARAM)&dis );
}
- if (HAS_STRINGS(descr) && descr->items[index].str)
+ if (HAS_STRINGS(descr))
HeapFree( GetProcessHeap(), 0, descr->items[index].str );
}
--
1.3.3
--
Michael Stefaniuc Tel.: +49-711-96437-199
Sr. Network Engineer Fax.: +49-711-96437-111
Red Hat GmbH Email: mstefani at redhat.com
Hauptstaetterstr. 58 http://www.redhat.de/
D-70178 Stuttgart
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20060612/b9c87f18/attachment-0001.pgp
More information about the wine-patches
mailing list