qedit: Don't dereference NULL on alloc failure.
This commit is contained in:
parent
8612c266db
commit
183bd439fa
|
@ -173,20 +173,24 @@ static const IEnumPinsVtbl IEnumPins_VTable =
|
|||
|
||||
static IEnumPins *pinsenum_create(IBaseFilter *filter, IPin **pins, ULONG pinCount)
|
||||
{
|
||||
PE_Impl *obj;
|
||||
ULONG len = sizeof(PE_Impl) + (pinCount * sizeof(IPin *));
|
||||
PE_Impl *obj = CoTaskMemAlloc(len);
|
||||
if (obj) {
|
||||
ULONG i;
|
||||
ZeroMemory(obj, len);
|
||||
obj->pe.lpVtbl = &IEnumPins_VTable;
|
||||
obj->refCount = 1;
|
||||
obj->filter = filter;
|
||||
obj->numPins = pinCount;
|
||||
obj->index = 0;
|
||||
for (i=0; i<pinCount; i++)
|
||||
obj->pins[i] = pins[i];
|
||||
IBaseFilter_AddRef(filter);
|
||||
}
|
||||
ULONG i;
|
||||
|
||||
obj = CoTaskMemAlloc(len);
|
||||
if (!obj)
|
||||
return NULL;
|
||||
|
||||
ZeroMemory(obj, len);
|
||||
obj->pe.lpVtbl = &IEnumPins_VTable;
|
||||
obj->refCount = 1;
|
||||
obj->filter = filter;
|
||||
obj->numPins = pinCount;
|
||||
obj->index = 0;
|
||||
for (i = 0; i < pinCount; i++)
|
||||
obj->pins[i] = pins[i];
|
||||
IBaseFilter_AddRef(filter);
|
||||
|
||||
return &obj->pe;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue