X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/af429a902add614e35cd76d15172a4ccb70a3be1..28610ff9a604a75ae0c383be03aa19415ddb1965:/mts/smtp/smtp.c diff --git a/mts/smtp/smtp.c b/mts/smtp/smtp.c index 231bdaef..7177e5d5 100644 --- a/mts/smtp/smtp.c +++ b/mts/smtp/smtp.c @@ -854,11 +854,12 @@ sm_auth_sasl(char *user, int saslssf, char *mechlist, char *inhost) strncpy(host, inhost, sizeof(host) - 1); } - callbacks[SM_SASL_N_CB_USER].context = user; - callbacks[SM_SASL_N_CB_AUTHNAME].context = user; - - nmh_get_credentials (host, user, 1, &creds); + nmh_get_credentials (host, user, 0, &creds); + /* It's OK to copy the creds pointers here. The callbacks that + use them will only be called before this function returns. */ + callbacks[SM_SASL_N_CB_USER].context = creds.user; + callbacks[SM_SASL_N_CB_AUTHNAME].context = creds.user; sasl_pw_context[0] = host; sasl_pw_context[1] = creds.user; sasl_pw_context[2] = creds.password;