Fixed NullReferenceException caused by unsuccessful CredRead call (#344)

* Added unit test for not existing credential
* fixed NullReferenceException caused by null to CREDENTIAL_MGD conversion
pull/348/head v3.4.11
Martin Kuschnik 2022-11-14 17:06:07 +01:00 committed by GitHub
parent eebcfb01be
commit 37d2a55ea8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 3 deletions

View File

@ -902,7 +902,7 @@ namespace Vanara.PInvoke
{
var b = CredRead(TargetName, Type, 0, out var cred);
using (cred)
Credential = b ? cred : default;
Credential = b ? cred : default(CREDENTIAL_MGD);
return b;
}

View File

@ -64,9 +64,15 @@ namespace Vanara.PInvoke.Tests
{
Assert.That(CredRead(genCred.TargetName, genCred.Type, out var cred), ResultIs.Successful);
Assert.That(cred.UserName, Is.EqualTo(genCred.UserName));
}
}
[Test]
[Test]
public void CredReadNegativeTest()
{
Assert.That(CredRead(Guid.NewGuid().ToString(), CRED_TYPE.CRED_TYPE_GENERIC, out var cred), ResultIs.Failure);
}
[Test]
public void CredWriteTest()
{
const string targetName = "my.urn.pri";