--- a/libpurple/account.c Wed Aug 27 09:54:49 2008 +0000 +++ b/libpurple/account.c Wed Aug 27 10:00:45 2008 +0000 @@ -1637,8 +1637,8 @@ g_return_if_fail(account != NULL); - if (account->password != NULL) - g_free(account->password); + g_free(account->password); + account->password = g_strdup(password); if (purple_account_get_remember_password(account) == FALSE) {