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
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to