From: Alexandre Julliard Subject: Re: [PATCH] devenum: Avoid an invalid free (Valgrind). Message-Id: <87mup9ss7s.fsf@winehq.org> Date: Thu, 13 Dec 2018 10:15:19 +0100 In-Reply-To: <20181213031031.3547-1-z.figura12@gmail.com> (Zebediah Figura's message of "Wed, 12 Dec 2018 21:10:31 -0600") References: <20181213031031.3547-1-z.figura12@gmail.com> Zebediah Figura writes: > Signed-off-by: Zebediah Figura > --- > dlls/devenum/mediacatenum.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/dlls/devenum/mediacatenum.c b/dlls/devenum/mediacatenum.c > index 5fa2f008dc..efa69195eb 100644 > --- a/dlls/devenum/mediacatenum.c > +++ b/dlls/devenum/mediacatenum.c > @@ -419,7 +419,8 @@ static ULONG WINAPI DEVENUM_IMediaCatMoniker_Release(IMoniker *iface) > TRACE("(%p) ref=%d\n", This, ref); > > if (ref == 0) { > - CoTaskMemFree(This->name); > + if (This->type != DEVICE_DMO) > + CoTaskMemFree(This->name); I'd suggest getting rid of the union instead, and simply keep name as NULL when not needed. -- Alexandre Julliard julliard@winehq.org