Re: Leak and strange code in nautilus-file.c
- From: Alexander Larsson <alexl redhat com>
- To: Kjartan Maraas <kmaraas broadpark no>
- Cc: nautilus-list gnome org
- Subject: Re: Leak and strange code in nautilus-file.c
- Date: Thu, 27 Jan 2005 12:31:47 +0100
On Wed, 2005-01-26 at 15:12 +0100, Kjartan Maraas wrote:
> Hi.
>
> Valgrind reports this leak in nautilus-file.c:
>
> ==5836== 304 bytes in 7 blocks are definitely lost in loss record 136 of 220
> ==5836== at 0x1B904278: malloc (vg_replace_malloc.c:130)
> ==5836== by 0x1C3FEA09: IA__g_malloc (gmem.c:137)
> ==5836== by 0x1C07942B: gnome_vfs_unescape_string (gnome-vfs-utils.c:467)
> ==5836== by 0x1B94B157: nautilus_file_get_name (nautilus-file.c:2763)
> ==5836== by 0x1B94B62D: nautilus_file_get_display_name_nocopy (nautilus-file.c:2698)
> ==5836== by 0x1B94B8F6: nautilus_file_get_display_name (nautilus-file.c:2757)
> ==5836== by 0x8099552: fm_icon_container_get_icon_text (fm-icon-container.c:275)
> ==5836== by 0x1B95DD3B: nautilus_icon_container_update_icon (nautilus-icon-container.c:4851)
> ==5836== by 0x1B95E23D: redo_layout_internal (nautilus-icon-container.c:5102)
> ==5836== by 0x1B95E46A: redo_layout_callback (nautilus-icon-container.c:1645)
> ==5836== by 0x1C3FBBBF: g_idle_dispatch (gmain.c:3821)
> ==5836== by 0x1C3F8D70: IA__g_main_context_dispatch (gmain.c:1947)
> ==5836== by 0x1C3FA64E: g_main_context_iterate (gmain.c:2578)
> ==5836== by 0x1C3FA8CF: IA__g_main_loop_run (gmain.c:2782)
> ==5836== by 0x1BDCCEB6: IA__gtk_main (gtkmain.c:963)
> ==5836== by 0x8074A74: main (nautilus-main.c:353)
>
> And the code in nautilus_file_display_name_nocopy() seems to be setting
> name to different values throughout without freeing the previous value
> first. It seems a bit strange to be setting it and then setting it
> again, and again though. Maybe a bug? I can't really say I fully
> understand the code in there so I might be mistaken of course.
I don't understand how this could leak.
file->details->cached_display_name should always be freed when the file
is freed.
Also, i don't understand your problem with
nautilus_file_display_name_nocopy(). It never sets name if its already
been set to non-NULL in the function, except in one place where we free
it first.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl redhat com alla lysator liu se
He's a hate-fuelled soccer-playing matador on his last day in the job. She's a
vivacious psychic vampire operating on the wrong side of the law. They fight
crime!
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]