[PATCH] dmstyle: another NULL ptr check added (Coverity)
Marcus Meissner
marcus at jet.franken.de
Sat Jan 31 16:30:59 CST 2009
Hi,
CID 150, also check pNewItem is allocated, might happen
in case of badly ordered chunks.
Ciao, Marcus
---
dlls/dmstyle/style.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/dmstyle/style.c b/dlls/dmstyle/style.c
index c4d0c0a..52b3976 100644
--- a/dlls/dmstyle/style.c
+++ b/dlls/dmstyle/style.c
@@ -500,9 +500,9 @@ static HRESULT IDirectMusicStyle8Impl_IPersistStream_ParsePartRefList (LPPERSIST
case DMUS_FOURCC_PARTREF_CHUNK: {
TRACE_(dmfile)(": PartRef chunk\n");
pNewItem = HeapAlloc (GetProcessHeap (), HEAP_ZERO_MEMORY, sizeof(DMUS_PRIVATE_STYLE_PARTREF_ITEM));
- if (NULL == pNewItem) {
+ if (!pNewItem) {
ERR(": no more memory\n");
- return E_OUTOFMEMORY;
+ return E_OUTOFMEMORY;
}
hr = IStream_Read (pStm, &pNewItem->part_ref, sizeof(DMUS_IO_PARTREF), NULL);
/*TRACE_(dmfile)(" - sizeof %lu\n", sizeof(DMUS_IO_PARTREF));*/
@@ -523,6 +523,10 @@ static HRESULT IDirectMusicStyle8Impl_IPersistStream_ParsePartRefList (LPPERSIST
ListCount[1] += sizeof(FOURCC) + sizeof(DWORD) + Chunk.dwSize;
TRACE_(dmfile)(": %s chunk (size = %d)", debugstr_fourcc (Chunk.fccID), Chunk.dwSize);
+ if (!pNewItem) {
+ ERR(": pNewItem not yet allocated, chunk order bad?\n");
+ return E_OUTOFMEMORY;
+ }
hr = IDirectMusicUtils_IPersistStream_ParseUNFOGeneric(&Chunk, pStm, &pNewItem->desc);
if (FAILED(hr)) return hr;
--
1.5.6
More information about the wine-patches
mailing list