Use freerdp_settings_set and _strdup

This commit is contained in:
Armin Novak 2022-02-02 09:41:25 +01:00 committed by akallabeth
parent 99d63ea89e
commit a00238d253
2 changed files with 12 additions and 16 deletions

View File

@ -3357,8 +3357,9 @@ int freerdp_client_settings_parse_command_line_arguments(rdpSettings* settings,
if (strncmp("cert:", cur, 5) == 0)
{
const char* f = &cur[5];
settings->SmartcardCertificateFile = strdup(f);
if (!settings->SmartcardCertificateFile ||
if (!freerdp_settings_set_string(settings, FreeRDP_SmartcardCertificateFile,
f) ||
!read_pem_file(settings, FreeRDP_SmartcardCertificate, f))
{
free(ptr.p);
@ -3368,8 +3369,8 @@ int freerdp_client_settings_parse_command_line_arguments(rdpSettings* settings,
else if (strncmp("key:", cur, 4) == 0)
{
const char* f = &cur[4];
settings->SmartcardPrivateKeyFile = strdup(f);
if (!settings->SmartcardPrivateKeyFile ||
if (!freerdp_settings_set_string(settings, FreeRDP_SmartcardPrivateKeyFile,
f) ||
!read_pem_file(settings, FreeRDP_SmartcardPrivateKey, f))
{
free(ptr.p);
@ -3378,8 +3379,8 @@ int freerdp_client_settings_parse_command_line_arguments(rdpSettings* settings,
}
else if (strncmp("pin:", cur, 4) == 0)
{
settings->SmartcardPin = strdup(&cur[4]);
if (!settings->SmartcardPin)
const char* f = &cur[4];
if (!freerdp_settings_set_string(settings, FreeRDP_SmartcardPin, f))
{
free(ptr.p);
return COMMAND_LINE_ERROR_UNEXPECTED_VALUE;

View File

@ -547,8 +547,7 @@ static BOOL nla_adjust_settings_from_smartcard(rdpNla* nla)
if (!settings->CspName)
{
settings->CspName = strdup(MS_SCARD_PROV_A);
if (!settings->CspName)
if (!freerdp_settings_set_string(settings, FreeRDP_CspName, MS_SCARD_PROV_A))
{
WLog_ERR(TAG, "unable to set CSP name");
return FALSE;
@ -585,8 +584,7 @@ static BOOL nla_adjust_settings_from_smartcard(rdpNla* nla)
*/
if (!settings->Username && certs[0].userHint)
{
settings->Username = strdup(certs[0].userHint);
if (!settings->Username)
if (!freerdp_settings_set_string(settings, FreeRDP_Username, certs[0].userHint))
{
WLog_ERR(TAG, "unable to copy certificate username");
goto out;
@ -595,8 +593,7 @@ static BOOL nla_adjust_settings_from_smartcard(rdpNla* nla)
if (!settings->Domain && certs[0].domainHint)
{
settings->Domain = strdup(certs[0].domainHint);
if (!settings->Domain)
if (!freerdp_settings_set_string(settings, FreeRDP_Domain, certs[0].domainHint))
{
WLog_ERR(TAG, "unable to copy certificate domain");
goto out;
@ -615,8 +612,7 @@ static BOOL nla_adjust_settings_from_smartcard(rdpNla* nla)
if (!settings->ContainerName && certs[0].containerName)
{
settings->ContainerName = strdup(certs[0].containerName);
if (!settings->ContainerName)
if (!freerdp_settings_set_string(settings, FreeRDP_ContainerName, certs[0].containerName))
{
WLog_ERR(TAG, "unable to copy container name");
goto out;
@ -647,8 +643,7 @@ setup_pin:
if (!dupSrc)
dupSrc = "";
settings->Pin = strdup(dupSrc);
if (!settings->Pin)
if (!freerdp_settings_set_string(settings, FreeRDP_Pin, dupSrc))
{
WLog_ERR(TAG, "error setting pin");
return FALSE;