Anton Baskanov : amstream: Leave critical section on error in MediaStreamFilter::EnumPins().
Alexandre Julliard
julliard at winehq.org
Wed Jun 3 16:40:59 CDT 2020
Module: wine
Branch: master
Commit: d1197ffaeb983abf226c27ad1a557a47644ea829
URL: https://source.winehq.org/git/wine.git/?a=commit;h=d1197ffaeb983abf226c27ad1a557a47644ea829
Author: Anton Baskanov <baskanov at gmail.com>
Date: Wed Jun 3 14:28:12 2020 -0500
amstream: Leave critical section on error in MediaStreamFilter::EnumPins().
Signed-off-by: Anton Baskanov <baskanov at gmail.com>
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/amstream/filter.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/amstream/filter.c b/dlls/amstream/filter.c
index fb9b1d9aee..f89fe13e62 100644
--- a/dlls/amstream/filter.c
+++ b/dlls/amstream/filter.c
@@ -361,14 +361,14 @@ static HRESULT WINAPI filter_EnumPins(IMediaStreamFilter *iface, IEnumPins **enu
TRACE("iface %p, enum_pins %p.\n", iface, enum_pins);
- EnterCriticalSection(&filter->cs);
-
if (!enum_pins)
return E_POINTER;
if (!(object = heap_alloc(sizeof(*object))))
return E_OUTOFMEMORY;
+ EnterCriticalSection(&filter->cs);
+
object->IEnumPins_iface.lpVtbl = &enum_pins_vtbl;
object->refcount = 1;
object->count = filter->nb_streams;
@@ -376,6 +376,7 @@ static HRESULT WINAPI filter_EnumPins(IMediaStreamFilter *iface, IEnumPins **enu
if (!(object->pins = heap_alloc(filter->nb_streams * sizeof(*object->pins))))
{
heap_free(object);
+ LeaveCriticalSection(&filter->cs);
return E_OUTOFMEMORY;
}
for (i = 0; i < filter->nb_streams; ++i)
More information about the wine-cvs
mailing list