Date: Mon, 22 Jan 2001 12:10:02 -0800 (PST) From: Garrett Wollman <wollman@khavrinen.lcs.mit.edu> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/24540: add '-c' flag to src/bin/domainname to clear domainname Message-ID: <200101222010.f0MKA2185498@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/24540; it has been noted by GNATS. From: Garrett Wollman <wollman@khavrinen.lcs.mit.edu> To: Pete Fritchman <petef@databits.net> Cc: freebsd-gnats-submit@FreeBSD.ORG, phk@FreeBSD.ORG Subject: Re: bin/24540: add '-c' flag to src/bin/domainname to clear domainname Date: Mon, 22 Jan 2001 15:02:57 -0500 (EST) <<On Mon, 22 Jan 2001 11:10:02 -0800 (PST), Pete Fritchman <petef@databits.net> said: > electron# ./domainname foo.bar > electron# ./domainname '' > electron# ./domainname > foo.bar I think this is a bug in sysctl. Note the following: root@khavrinen(6)# sysctl -w kern.domainname='' kern.domainname: foo.bar -> foo.bar What is happening is that the sysctl() system call is interpreting the request to set the MIB variable to a zero-length object as if it were an indication that setting is not requested. Here is an (untested) fix (beware cut&paste has bogotified whitespace): --- kern_sysctl.c 2000/07/28 22:40:04 1.100 +++ kern_sysctl.c 2001/01/22 20:01:38 @@ -862,7 +862,7 @@ req.oldptr= old; } - if (newlen) { + if (new) { req.newlen = newlen; req.newptr = new; } @@ -1101,7 +1101,7 @@ req.oldptr= old; } - if (newlen) { + if (new) { if (!useracc(new, req.newlen, VM_PROT_READ)) return (EFAULT); req.newlen = newlen; -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101222010.f0MKA2185498>