Use MAX_HOST_NAME+1 (limits.h) instead of MAXHOSTNAMELEN (sys/param.h
or netdb.h).
This commit is contained in:
@@ -93,8 +93,16 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MAXHOSTNAMELEN
|
#ifndef HOST_NAME_MAX
|
||||||
# define MAXHOSTNAMELEN 64
|
# ifdef MAXHOSTNAMELEN
|
||||||
|
# define HOST_NAME_MAX MAXHOSTNAMELEN
|
||||||
|
# else
|
||||||
|
# ifdef _POSIX_HOST_NAME_MAX
|
||||||
|
# define HOST_NAME_MAX _POSIX_HOST_NAME_MAX
|
||||||
|
# else
|
||||||
|
# define HOST_NAME_MAX 64
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -788,8 +788,8 @@ netgr_matches(char *netgr, char *lhost, char *shost, char *user)
|
|||||||
#ifdef HAVE_GETDOMAINNAME
|
#ifdef HAVE_GETDOMAINNAME
|
||||||
/* get the domain name (if any) */
|
/* get the domain name (if any) */
|
||||||
if (!initialized) {
|
if (!initialized) {
|
||||||
domain = (char *) emalloc(MAXHOSTNAMELEN + 1);
|
domain = (char *) emalloc(HOST_NAME_MAX + 1);
|
||||||
if (getdomainname(domain, MAXHOSTNAMELEN + 1) == -1 || *domain == '\0') {
|
if (getdomainname(domain, HOST_NAME_MAX + 1) == -1 || *domain == '\0') {
|
||||||
efree(domain);
|
efree(domain);
|
||||||
domain = NULL;
|
domain = NULL;
|
||||||
}
|
}
|
||||||
|
@@ -128,7 +128,7 @@ main(int argc, char *argv[])
|
|||||||
struct privilege *priv;
|
struct privilege *priv;
|
||||||
struct userspec *us;
|
struct userspec *us;
|
||||||
char *p, *grfile, *pwfile;
|
char *p, *grfile, *pwfile;
|
||||||
char hbuf[MAXHOSTNAMELEN + 1];
|
char hbuf[HOST_NAME_MAX + 1];
|
||||||
int match, host_match, runas_match, cmnd_match;
|
int match, host_match, runas_match, cmnd_match;
|
||||||
int ch, dflag, exitcode = 0;
|
int ch, dflag, exitcode = 0;
|
||||||
debug_decl(main, SUDO_DEBUG_MAIN)
|
debug_decl(main, SUDO_DEBUG_MAIN)
|
||||||
|
@@ -1040,7 +1040,7 @@ get_args(char *cmnd)
|
|||||||
static void
|
static void
|
||||||
get_hostname(void)
|
get_hostname(void)
|
||||||
{
|
{
|
||||||
char *p, thost[MAXHOSTNAMELEN + 1];
|
char *p, thost[HOST_NAME_MAX + 1];
|
||||||
debug_decl(get_hostname, SUDO_DEBUG_UTIL)
|
debug_decl(get_hostname, SUDO_DEBUG_UTIL)
|
||||||
|
|
||||||
if (gethostname(thost, sizeof(thost)) != -1) {
|
if (gethostname(thost, sizeof(thost)) != -1) {
|
||||||
|
@@ -414,7 +414,7 @@ get_user_groups(struct user_details *ud)
|
|||||||
static char **
|
static char **
|
||||||
get_user_info(struct user_details *ud)
|
get_user_info(struct user_details *ud)
|
||||||
{
|
{
|
||||||
char *cp, **user_info, cwd[PATH_MAX], host[MAXHOSTNAMELEN];
|
char *cp, **user_info, cwd[PATH_MAX], host[HOST_NAME_MAX + 1];
|
||||||
struct passwd *pw;
|
struct passwd *pw;
|
||||||
int fd, i = 0;
|
int fd, i = 0;
|
||||||
debug_decl(get_user_info, SUDO_DEBUG_UTIL)
|
debug_decl(get_user_info, SUDO_DEBUG_UTIL)
|
||||||
|
Reference in New Issue
Block a user