summaryrefslogtreecommitdiff
path: root/modules/pam_userdb/conv.c
diff options
context:
space:
mode:
authorThorsten Kukuk <kukuk@thkukuk.de>2005-06-09 17:29:18 +0000
committerThorsten Kukuk <kukuk@thkukuk.de>2005-06-09 17:29:18 +0000
commit0a7fe016a03184815b03fe92d50c58e67c8c05fc (patch)
treeb9c25dd0fbbb71e08b2826e046b763facdcff8df /modules/pam_userdb/conv.c
parentfa433b9e2fa1a00e13df36a8b709ffda9e3e715b (diff)
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.c14
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)