summaryrefslogtreecommitdiff
path: root/modules/pam_access/pam_access.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/pam_access/pam_access.c')
-rw-r--r--modules/pam_access/pam_access.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/modules/pam_access/pam_access.c b/modules/pam_access/pam_access.c
index 87ad708d..33bf767f 100644
--- a/modules/pam_access/pam_access.c
+++ b/modules/pam_access/pam_access.c
@@ -345,8 +345,9 @@ static int from_match(char *tok, struct login_info *item)
by "string" starts from "tok".
1998/01/27 Andrey V. Savochkin <saw@msu.ru>
*/
+
struct hostent *h;
- char hn[3+1+3+1+3+1+3+1];
+ char hn[3+1+3+1+3+1+3+1+1];
int r;
h = gethostbyname(string);
@@ -356,9 +357,9 @@ static int from_match(char *tok, struct login_info *item)
return (NO);
if (h->h_length != 4)
return (NO); /* only IPv4 addresses (SAW) */
- r = snprintf(hn, sizeof(hn), "%u.%u.%u.%u",
- (unsigned char)h->h_addr[0], (unsigned char)h->h_addr[1],
- (unsigned char)h->h_addr[2], (unsigned char)h->h_addr[3]);
+ r = snprintf(hn, sizeof(hn), "%u.%u.%u.%u.",
+ (unsigned char)h->h_addr[0], (unsigned char)h->h_addr[1],
+ (unsigned char)h->h_addr[2], (unsigned char)h->h_addr[3]);
if (r < 0 || r >= sizeof(hn))
return (NO);
if (!strncmp(tok, hn, tok_len))