strippwd patch against CVS20041108
Andrew V. Samoilov
andrew at email.zp.ua
Wed Nov 10 15:41:50 UTC 2004
> Hello Andrew,
>
> On Wed, 2004-11-10 at 11:51, Andrew V. Samoilov wrote:
> > Patch below fixes double free, memory leaks and missed {}.
>
> Double frees? Please explain.
. . .
if (ret == B_ENTER || ret == B_APPEND)
add2hotlist (title, url, HL_TYPE_ENTRY, 2);
else
add2hotlist (title, url, HL_TYPE_ENTRY, 1);
hotlist_state.modified = 1;
g_free (title);
g_free (url);
. . .
title and url are g_free()d here and in remove_group()|remove_from_hotlist() after.
> And what about
>
> - if (!ret || !title || !*title || !url || !*url) {
> + if (!ret)
> + return;
> + if (!title || !*title || !url || !*url) {
>
> ? title and url should always be g_free()d, because either of them can
> be non NULL even if ret is NULL.
Well, add_new_entry_input() returns 0 if query_dialog() is canceled.
query_dialog() does not strdup() str_result's, so title and url are unchanged
this way.
> If I am not mistaken this should be dropped from the patch. I also don't
> see the use of to_free. What does it actually do?
to_free = strip_password (g_strdup (current_panel->cwd), 1),
so this memory area needs its own g_free().
url and title will be newly allocated strings if user does not cancel
query_dialog().
> enum is nice as it clears up the code and makes the comments in the code
> redundant. Not sure if we should introduce it before 4.6.1 though.
This part is trivial.
> > Second part is optimization.
>
> Even more patches to test in the time of which new patches will have
> emerged. Can we concentrate on fixing the last items and have a release
> please?
They are trivial too, these hunks were produced when I discovered mc crash on
Pavel's report.
There are some dozens of bugs to fix, and some of then are not in TODO
after they were intoduced on mc-devel at gnome.org.
--
Regards,
Andrew V. Samoilov.
More information about the mc-devel
mailing list