wine/controls/button.c (get_button_text) : potential memory leak
Vincent Pelletier
subdino2004 at yahoo.fr
Wed Feb 18 15:28:20 CST 2004
In get_button_text, the returned handle must be freed by caller (->
memory leak if it forgots about it).
That could be solved using something like :
/* BEGIN */
/* in button.c */
inline static void get_button_text(HWND hwnd, WCHAR *out, INT max_len)
{
INT len = MIN(GetWindowTextLengthW( hwnd ), max_len);
GetWindowTextW( hwnd, buffer, len + 1 );
}
/* everywhere needed */
#define MAX_BUTTON_TEXT_LEN 255 /* just as an example */
caller_func(HWND hwnd)
{
WCHAR button_text[MAX_BUTTON_TEXT_LEN]; /* can also be dynamicaly
allocated of course */
get_button_text(hwnd, button_text, MAX_BUTTON_TEXT_LEN);
/* do something with gathered string */
}
/* END */
So, why wouldn't I do it myself ? Because I'm getting lost in sources
:). I only crawl wine code for only 48 hours now... So about 5 hours of
effective crawling.
Vincent Pelletier
More information about the wine-devel
mailing list