[PATCH] ole32: check for interface NULL which happens with e.g. Abiword

Huw Davies huw at codeweavers.com
Wed Sep 15 06:40:46 CDT 2010


On Wed, Sep 15, 2010 at 01:34:06PM +0200, Marcus Meissner wrote:
> On Wed, Sep 15, 2010 at 12:22:57PM +0100, Huw Davies wrote:
> > On Wed, Sep 15, 2010 at 08:04:51PM +0900, Dmitry Timoshkov wrote:
> > > Marcus Meissner <marcus at jet.franken.de> wrote:
> > > 
> > > > +  if (!unk) {
> > > > +      FIXME("hr was %d, but unk is NULL?\n", hr);
> > > > +      return E_FAIL;
> > > > +  }
> > > 
> > > IDropTarget_QueryInterface() should be fixed instead.
> > 
> > The implementation is in abiword, so that would be tricky.
> > 
> > Marcus, you're leaking a stream in this error path.  Better
> > to do something like:
> >    if(FAILED(hr) || !unk)
> 
> yeah, but what error to return :/

Yeah, sorry.  Something like:
    if(!unk) hr = E_NOINTERFACE;
right after the QI call.

Huw.



More information about the wine-devel mailing list