[ONGERRIT] leaked ODBC statement handles

Terrence Enger tenger at iseries-guru.com
Thu Jul 19 04:18:43 PDT 2012


On Thu, 2012-07-19 at 12:43 +0200, Lionel Elie Mamane wrote:
> On Wed, Jul 18, 2012 at 03:09:55PM -0400, Terrence Enger wrote:
> > Patch attached.  I think it as we discussed.
> 
> Thanks. Applied & pushed to master.
> 
> I split your patch into three commits:
> 
>  - avoid freeing the NULL handle
> 
>  - ODBMetaDataRS ctor: abort if statement handle allocation failed
> 
>  - stop some leaked statement handles
> 

Note to self:
------------

    Difficulty writing a commit message may be telling you something
    interesting.  Listen to it hereafter, and stop bothering experts
    with work that you could do yourself!

> In particular, in the "ODBMetaDataRS ctor: abort if statement handle
> allocation failed" commit, I moved the abort (exception throwing) to
> the top of the function instead of the bottom. At the bottom, it would
> leak the allocation in m_pRowStatusArray, and a reference count in
> m_pConnection (because acquire has already been called).
> 
> By contrast, the other initialisations done before, in the
> initialisation list are safe: no heap allocation :)

Ah yes.  That is an important fix.


Again, thank you for all the help you have given me along the way to
this small code contribution.

Terry.




More information about the LibreOffice mailing list