bonobo_activation_registration_env_set: env_value->name = g_strdup (name); env_value->value = value ? g_strdup (value) : NULL; reg_env = g_slist_prepend (reg_env, env_value); bonobo_activation_registration_env_free: for (l = reg_env; l; l = l->next) g_free (l->data); note the absense of freeing ->name and ->value --- bonobo-activation-register.c~ 2003-02-01 15:15:34.000000000 +0100 +++ bonobo-activation-register.c 2003-02-01 15:15:34.000000000 +0100 @@ -458,9 +458,14 @@ bonobo_activation_registration_env_free (GSList *reg_env) { GSList *l; - - for (l = reg_env; l; l = l->next) + RegistrationEnvValue *env_value; + + for (l = reg_env; l; l = l->next) { + env_value = (RegistrationEnvValue*)l->data; + g_free(env_value->name); + g_free(env_value->value); g_free (l->data); + } g_slist_free (reg_env); } proposed solution:
http://bugzilla.gnome.org/show_bug.cgi?id=104987
Fixed upstream and released in 2.2.0.
closing this bug then