Use freerdp_settings_set and _strdup
This commit is contained in:
parent
99d63ea89e
commit
a00238d253
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user