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)
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue