On Fri, Feb 11, 2011 at 2:45 PM, Peter Geoghegan
<peter.geoghegan86@gmail.com> wrote:
> On 11 February 2011 10:42, Julius Tuskenis <julius@nsoft.lt> wrote:
>> Hello, Guillaume
>>
>> Please look at frmStatus::fillLogfileCombo(). Please note, that the set is
>> defined and assigned, but then as it has not enough rows to be "interesting"
>> the function returns 0 and exits. So "delete set;" is never called. Can this
>> be the issue?
>
> Yep, that's a memory leak.
>
> I really think that we should be wrapping pgSet results in a smart
> pointer. wxWidgets 2.9 has a templated smart pointer class. It might
> make sense to look at std::unique_ptr instead, but that might be a
> problem on some more exotic platforms, and we'd have to make autotools
> detect if it was available and possibly error if it wasn't.
Ashesh had some code to implement a smart pointer a while back. I
suggested he post it here, but I know he's been too busy to do much
else with it.
> Alternatively we could abandon pointer semantics and write our own
> RAII wrapper class. This would be a large patch.
Exactly.
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company