In AuthenticationCF.cpp, we have Credential core(CFURLCredentialRef cfCredential) { .... return Credential(CFURLCredentialGetUsername(cfCredential), CFURLCredentialCopyPassword(cfCredential), persistence); } The password string returned from CFURLCredentialCopyPassword is a copy. We need to free it.
Actually I'll just do this as part of bug 65704.