diff options
author | bde <bde@FreeBSD.org> | 1995-11-12 07:04:30 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1995-11-12 07:04:30 +0000 |
commit | b0670e8e6af7a89aa7af91ca5bd8c9c3289d390f (patch) | |
tree | c480eba8c657517595a223b69271914b818d23f4 /sys/kern | |
parent | aa9a60640e2c942769c3a8f506c8cb6317bb1eaf (diff) | |
download | FreeBSD-src-b0670e8e6af7a89aa7af91ca5bd8c9c3289d390f.zip FreeBSD-src-b0670e8e6af7a89aa7af91ca5bd8c9c3289d390f.tar.gz |
Restored the (buggy) historical behaviour of getdomainname().
Negative name lengths for getdomainname() and setdomainname() were
converted to large positive ones by misdeclaring the args struct.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_xxx.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/kern/kern_xxx.c b/sys/kern/kern_xxx.c index be6d8a2..a961990 100644 --- a/sys/kern/kern_xxx.c +++ b/sys/kern/kern_xxx.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kern_xxx.c 8.2 (Berkeley) 11/14/93 - * $Id: kern_xxx.c,v 1.16 1995/11/11 01:04:42 bde Exp $ + * $Id: kern_xxx.c,v 1.17 1995/11/12 06:43:03 bde Exp $ */ #include <sys/param.h> @@ -269,10 +269,10 @@ uname(p, uap, retval) #ifndef _SYS_SYSPROTO_H_ struct getdomainname_args { char *domainname; - u_int len; + int len; }; - #endif + /* ARGSUSED */ int getdomainname(p, uap, retval) @@ -280,7 +280,7 @@ getdomainname(p, uap, retval) struct getdomainname_args *uap; int *retval; { - if (uap->len > domainnamelen + 1) + if ((u_int)uap->len > domainnamelen + 1) uap->len = domainnamelen + 1; return (copyout((caddr_t)domainname, (caddr_t)uap->domainname, uap->len)); } @@ -288,7 +288,7 @@ getdomainname(p, uap, retval) #ifndef _SYS_SYSPROTO_H_ struct setdomainname_args { char *domainname; - u_int len; + int len; }; #endif @@ -303,7 +303,7 @@ setdomainname(p, uap, retval) if ((error = suser(p->p_ucred, &p->p_acflag))) return (error); - if (uap->len > sizeof (domainname) - 1) + if ((u_int)uap->len > sizeof (domainname) - 1) return EINVAL; domainnamelen = uap->len; error = copyin((caddr_t)uap->domainname, domainname, uap->len); |