diff --git a/lib/libpam/modules/pam_radius/pam_radius.c b/lib/libpam/modules/pam_radius/pam_radius.c index f6e1dc73a614..511baf329aa3 100644 --- a/lib/libpam/modules/pam_radius/pam_radius.c +++ b/lib/libpam/modules/pam_radius/pam_radius.c @@ -108,10 +108,10 @@ build_access_request(struct rad_handle *radh, const char *user, } if (nas_ipaddr != NULL) { memset(&hints, 0, sizeof(hints)); - hints.ai_family = PF_INET; + hints.ai_family = AF_INET; if (getaddrinfo(nas_ipaddr, NULL, &hints, &res) == 0 && - res != NULL) { - (struct sockaddr *)haddr = res->ai_addr; + res != NULL && res->ai_family == AF_INET) { + haddr = (struct sockaddr_in *)res->ai_addr; error = rad_put_addr(radh, RAD_NAS_IP_ADDRESS, haddr->sin_addr); freeaddrinfo(res);