Zebediah Figura : qedit/samplegrabber: Use calloc() in sample_grabber_create().
Module: wine Branch: master Commit: 218c382fd4dd69385c46a364f5a514f88d86320a URL: https://source.winehq.org/git/wine.git/?a=commit;h=218c382fd4dd69385c46a364f... Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Mon Mar 30 17:55:11 2020 -0500 qedit/samplegrabber: Use calloc() in sample_grabber_create(). Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/qedit/samplegrabber.c | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/dlls/qedit/samplegrabber.c b/dlls/qedit/samplegrabber.c index afb48bf84d..90e4102afa 100644 --- a/dlls/qedit/samplegrabber.c +++ b/dlls/qedit/samplegrabber.c @@ -107,7 +107,7 @@ static void sample_grabber_destroy(struct strmbase_filter *iface) strmbase_source_cleanup(&filter->source); strmbase_passthrough_cleanup(&filter->passthrough); strmbase_filter_cleanup(&filter->filter); - CoTaskMemFree(filter); + free(filter); } static HRESULT sample_grabber_query_interface(struct strmbase_filter *iface, REFIID iid, void **out) @@ -639,32 +639,27 @@ static const struct strmbase_source_ops source_ops = HRESULT sample_grabber_create(IUnknown *outer, IUnknown **out) { - SG_Impl* obj = NULL; + SG_Impl *object; - obj = CoTaskMemAlloc(sizeof(SG_Impl)); - if (NULL == obj) { - *out = NULL; + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; - } - ZeroMemory(obj, sizeof(SG_Impl)); - strmbase_filter_init(&obj->filter, outer, &CLSID_SampleGrabber, &filter_ops); - obj->ISampleGrabber_iface.lpVtbl = &ISampleGrabber_VTable; - obj->IMemInputPin_iface.lpVtbl = &IMemInputPin_VTable; + strmbase_filter_init(&object->filter, outer, &CLSID_SampleGrabber, &filter_ops); + object->ISampleGrabber_iface.lpVtbl = &ISampleGrabber_VTable; + object->IMemInputPin_iface.lpVtbl = &IMemInputPin_VTable; - strmbase_sink_init(&obj->sink, &obj->filter, L"In", &sink_ops, NULL); + strmbase_sink_init(&object->sink, &object->filter, L"In", &sink_ops, NULL); - strmbase_source_init(&obj->source, &obj->filter, L"Out", &source_ops); - strmbase_passthrough_init(&obj->passthrough, (IUnknown *)&obj->source.pin.IPin_iface); - ISeekingPassThru_Init(&obj->passthrough.ISeekingPassThru_iface, FALSE, &obj->sink.pin.IPin_iface); + strmbase_source_init(&object->source, &object->filter, L"Out", &source_ops); + strmbase_passthrough_init(&object->passthrough, (IUnknown *)&object->source.pin.IPin_iface); + ISeekingPassThru_Init(&object->passthrough.ISeekingPassThru_iface, FALSE, + &object->sink.pin.IPin_iface); - obj->allocator = NULL; - obj->grabberIface = NULL; - obj->grabberMethod = -1; - obj->oneShot = OneShot_None; - obj->bufferLen = -1; - obj->bufferData = NULL; + object->grabberMethod = -1; + object->oneShot = OneShot_None; + object->bufferLen = -1; - *out = &obj->filter.IUnknown_inner; + TRACE("Created sample grabber %p.\n", object); + *out = &object->filter.IUnknown_inner; return S_OK; }
participants (1)
-
Alexandre Julliard