diff options
Diffstat (limited to 'src/misc/getdomainname.c')
| -rw-r--r-- | src/misc/getdomainname.c | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/src/misc/getdomainname.c b/src/misc/getdomainname.c index 7eb113d7..59df566d 100644 --- a/src/misc/getdomainname.c +++ b/src/misc/getdomainname.c @@ -1,9 +1,17 @@ +#define _GNU_SOURCE  #include <unistd.h>  #include <sys/utsname.h>  #include <string.h> +#include <errno.h>  int getdomainname(char *name, size_t len)  { -	*name = 0; +	struct utsname temp; +	uname(&temp); +	if (!len || strlen(temp.domainname) >= len) { +		errno = EINVAL; +		return -1; +	} +	strcpy(name, temp.domainname);  	return 0;  } | 
