diff options
Diffstat (limited to 'pam_sql/pam_mysql.c')
-rw-r--r-- | pam_sql/pam_mysql.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pam_sql/pam_mysql.c b/pam_sql/pam_mysql.c index ca1f9e6..3f4a0d6 100644 --- a/pam_sql/pam_mysql.c +++ b/pam_sql/pam_mysql.c @@ -356,30 +356,34 @@ gpam_sql_verify_user_pass(pam_handle_t *pamh, const char *password, MYSQL mysql; int rc; rc = mysql_do_query(&mysql, query); if (rc == PAM_SUCCESS) { const char *q; gray_slist_t slist; rc = check_query_result(&mysql, password); /* FIXME: This comment is needed to pacify `make check-sql-config' in doc: gpam_sql_find_config("setenv-query") */ - if (rc == PAM_SUCCESS - && (q = gpam_sql_get_query(pamh, "setenv-query", - &slist, 0))) { + if (rc == PAM_SUCCESS) { + rc = gpam_sql_get_query(pamh, "setenv-query", 0, + &slist, &q); + if (rc == PAM_SUCCESS) { + if (q) { mysql_setenv(pamh, &mysql, q); gray_slist_free(&slist); } + } + } mysql_close(&mysql); } return rc; } int gpam_sql_acct(pam_handle_t *pamh, const char *query) { MYSQL mysql; int rc; |