Is this the branch you are talking about?
https://code.launchpad.net/~network-manager/network-manager-
applet/ubuntu.head
For some reason, you can't get to that by clicking "code" on the header
of this page. It is confusing.
In addition to moving the call to g_free, you need to remove the call to
g_strdup at the bottom of foo_set_icon, so that icon_name is just a
static string in the case where it is originally NULL. Otherwise you fix
one leak and create another. This is the part of the patch I am talking
about:
if (icon_name == NULL && layer == ICON_LAYER_LINK) {
icon_name = g_strdup ("nm-no-connection");
}
This problem is one of the reasons I deleted my patch.
Additionally, it might be a good idea to declare icon_name const in the
foo_set_icon prototype to underscore the fact that foo_set_icon is not
responsible for freeing it.
Some day, for the sake of consistency, it might be a good idea to make
memory management for new_tip work the same way as for icon_name, so
that in foo_set_icon() new_tip is const. There are a bunch of allocate-
just-to-free cases that can be eliminated as well.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/724554
Title:
nm-applet leaks in get_best_icon_name_for_ap() (or its uses)
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs