summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_access.c
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2014-05-31 19:06:56 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-06-03 14:36:42 +0200
commitbf6f1b3d49e17b1adf0448c0b06e94b1e52ddffd (patch)
treed192dbd41bcdf2ed2fbab20c9ec2934c56e4d9f6 /src/providers/ldap/sdap_access.c
parentcf901f549abe18f32562cbe1ef7a1ef258edab1a (diff)
downloadsssd-bf6f1b3d49e17b1adf0448c0b06e94b1e52ddffd.tar.gz
sssd-bf6f1b3d49e17b1adf0448c0b06e94b1e52ddffd.tar.xz
sssd-bf6f1b3d49e17b1adf0448c0b06e94b1e52ddffd.zip
Unify usage of function gethostname
man gethostanme says: NOTES SUSv2 guarantees that "Host names are limited to 255 bytes". POSIX.1-2001 guarantees that "Host names (not including the terminating null byte) are limited to HOST_NAME_MAX bytes". On Linux, HOST_NAME_MAX is defined with the value 64, which has been the limit since Linux 1.0 (earlier kernels imposed a limit of 8 bytes). Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Diffstat (limited to 'src/providers/ldap/sdap_access.c')
-rw-r--r--src/providers/ldap/sdap_access.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/providers/ldap/sdap_access.c b/src/providers/ldap/sdap_access.c
index f454bd2a3..89d37e52f 100644
--- a/src/providers/ldap/sdap_access.c
+++ b/src/providers/ldap/sdap_access.c
@@ -1066,7 +1066,7 @@ static errno_t sdap_access_host(struct ldb_message *user_entry)
struct ldb_message_element *el;
unsigned int i;
char *host;
- char hostname[HOST_NAME_MAX+1];
+ char hostname[HOST_NAME_MAX + 1];
el = ldb_msg_find_element(user_entry, SYSDB_AUTHORIZED_HOST);
if (!el || el->num_values == 0) {
@@ -1074,11 +1074,12 @@ static errno_t sdap_access_host(struct ldb_message *user_entry)
return ERR_ACCESS_DENIED;
}
- if (gethostname(hostname, sizeof(hostname)) == -1) {
+ if (gethostname(hostname, HOST_NAME_MAX) == -1) {
DEBUG(SSSDBG_CRIT_FAILURE,
"Unable to get system hostname. Access denied\n");
return ERR_ACCESS_DENIED;
}
+ hostname[HOST_NAME_MAX] = '\0';
/* FIXME: PADL's pam_ldap also calls gethostbyname() on the hostname
* in some attempt to get aliases and/or FQDN for the machine.