diff options
author | Thorsten Kukuk <kukuk@thkukuk.de> | 2005-06-09 17:29:18 +0000 |
---|---|---|
committer | Thorsten Kukuk <kukuk@thkukuk.de> | 2005-06-09 17:29:18 +0000 |
commit | 0a7fe016a03184815b03fe92d50c58e67c8c05fc (patch) | |
tree | b9c25dd0fbbb71e08b2826e046b763facdcff8df /modules/pam_userdb/conv.c | |
parent | fa433b9e2fa1a00e13df36a8b709ffda9e3e715b (diff) | |
download | pam-0a7fe016a03184815b03fe92d50c58e67c8c05fc.tar.gz pam-0a7fe016a03184815b03fe92d50c58e67c8c05fc.tar.bz2 pam-0a7fe016a03184815b03fe92d50c58e67c8c05fc.zip |
Relevant BUGIDs: none
Purpose of commit: cleanup
Commit summary:
---------------
Fix all occurrence of dereferencing type-punned pointer will break
strict-aliasing rules warnings
Diffstat (limited to 'modules/pam_userdb/conv.c')
-rw-r--r-- | modules/pam_userdb/conv.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/modules/pam_userdb/conv.c b/modules/pam_userdb/conv.c index de5d12f2..33923851 100644 --- a/modules/pam_userdb/conv.c +++ b/modules/pam_userdb/conv.c @@ -22,13 +22,15 @@ static int converse(pam_handle_t *pamh, struct pam_response **response) { int retval; + const void* void_conv; const struct pam_conv *conv; - retval = pam_get_item(pamh, PAM_CONV, (const void **) &conv ) ; + retval = pam_get_item(pamh, PAM_CONV, &void_conv ) ; + conv = void_conv; if (retval == PAM_SUCCESS) retval = conv->conv(1, (const struct pam_message **)message, response, conv->appdata_ptr); - + return retval; /* propagate error status */ } @@ -49,7 +51,7 @@ int conversation(pam_handle_t *pamh) struct pam_response *resp; int retval; char * token = NULL; - + pmsg[0] = &msg[0]; msg[0].msg_style = PAM_PROMPT_ECHO_OFF; msg[0].msg = "Password: "; @@ -59,7 +61,7 @@ int conversation(pam_handle_t *pamh) retval = converse(pamh, pmsg, &resp); if (resp != NULL) { - const char * item; + const void *item; /* interpret the response */ if (retval == PAM_SUCCESS) { /* a good conversation */ token = x_strdup(resp[0].resp); @@ -72,11 +74,11 @@ int conversation(pam_handle_t *pamh) retval = pam_set_item(pamh, PAM_AUTHTOK, token); token = _pam_delete(token); /* clean it up */ if ( (retval != PAM_SUCCESS) || - (retval = pam_get_item(pamh, PAM_AUTHTOK, (const void **)&item)) + (retval = pam_get_item(pamh, PAM_AUTHTOK, &item)) != PAM_SUCCESS ) { return retval; } - + _pam_drop_reply(resp, 1); } else { retval = (retval == PAM_SUCCESS) |