--- a/libpurple/account.c Thu Oct 08 18:16:41 2009 +0000 +++ b/libpurple/account.c Thu Oct 08 19:15:31 2009 +0000 @@ -1052,8 +1052,10 @@ priv = PURPLE_ACCOUNT_GET_PRIVATE(account); PURPLE_DBUS_UNREGISTER_POINTER(priv->current_error); - g_free(priv->current_error->description); - g_free(priv->current_error); + if (priv->current_error) { + g_free(priv->current_error->description); + g_free(priv->current_error); + } g_free(priv); PURPLE_DBUS_UNREGISTER_POINTER(account);