[Gambas-devel] Memory leak of GB.ReturnNewZeroString()?
Tobias Boege
tobias at ...692...
Wed Feb 6 00:16:09 CET 2013
Hi Benoit,
I used to call GB.ReturnNewZeroString() to return a copy of a C string on
the stack from Window.Ask() in gb.ncurses. Now this is the situation:
Window.Ask() gets called twice in nested functions and the return value is
given to the SELECT-CASE control structure (in my Pong program).
a) QUIT (by an event) within both nested functions give me "4 allocation(s)
non freed". If I remove any of the Window.Ask() calls, I get only 2 non-
freed allocations and with both removed, everything is fine.
b) When using Ctrl-C to kill the program mid-execution, the program is also
cleaned up properly.
c) When QUIT (by the same event as in a)) outside of the _inner_ function,
_no_ memory leaks are reported.
Do you understand the problem ad hoc?
Looking at gb.crypt source code, I seem to use GB.ReturnNewZeroString()
correctly at least. I fixed the problem by simply making Window.Ask() return
the number of the choice as an Integer. This makes also project translation
easier :-)
However, if you want I could try to replicate the offending code so that you
can have a look.
Regards,
Tobi
More information about the Devel
mailing list