qedit: Don't dereference NULL on alloc failure.

This commit is contained in:
Michael Stefaniuc 2014-02-05 00:20:22 +01:00 committed by Alexandre Julliard
parent 8612c266db
commit 183bd439fa
1 changed files with 17 additions and 13 deletions

View File

@ -173,20 +173,24 @@ static const IEnumPinsVtbl IEnumPins_VTable =
static IEnumPins *pinsenum_create(IBaseFilter *filter, IPin **pins, ULONG pinCount) static IEnumPins *pinsenum_create(IBaseFilter *filter, IPin **pins, ULONG pinCount)
{ {
PE_Impl *obj;
ULONG len = sizeof(PE_Impl) + (pinCount * sizeof(IPin *)); ULONG len = sizeof(PE_Impl) + (pinCount * sizeof(IPin *));
PE_Impl *obj = CoTaskMemAlloc(len); ULONG i;
if (obj) {
ULONG i; obj = CoTaskMemAlloc(len);
ZeroMemory(obj, len); if (!obj)
obj->pe.lpVtbl = &IEnumPins_VTable; return NULL;
obj->refCount = 1;
obj->filter = filter; ZeroMemory(obj, len);
obj->numPins = pinCount; obj->pe.lpVtbl = &IEnumPins_VTable;
obj->index = 0; obj->refCount = 1;
for (i=0; i<pinCount; i++) obj->filter = filter;
obj->pins[i] = pins[i]; obj->numPins = pinCount;
IBaseFilter_AddRef(filter); obj->index = 0;
} for (i = 0; i < pinCount; i++)
obj->pins[i] = pins[i];
IBaseFilter_AddRef(filter);
return &obj->pe; return &obj->pe;
} }