Deleted Added
full compact
33c33
< __FBSDID("$FreeBSD: head/sys/kern/kern_xxx.c 180039 2008-06-26 22:45:04Z julian $");
---
> __FBSDID("$FreeBSD: head/sys/kern/kern_xxx.c 180291 2008-07-05 13:10:10Z rwatson $");
247a248
> char tmpdomainname[MAXHOSTNAMELEN];
249d249
< int error;
251,252c251,255
< mtx_lock(&Giant);
< domainnamelen = strlen(domainname) + 1;
---
> mtx_lock(&hostname_mtx);
> bcopy(domainname, tmpdomainname, sizeof(tmpdomainname));
> mtx_unlock(&hostname_mtx);
>
> domainnamelen = strlen(tmpdomainname) + 1;
255,257c258
< error = copyout(domainname, uap->domainname, uap->len);
< mtx_unlock(&Giant);
< return (error);
---
> return (copyout(tmpdomainname, uap->domainname, uap->len));
271a273
> char tmpdomainname[MAXHOSTNAMELEN];
277,281c279,280
< mtx_lock(&Giant);
< if ((u_int)uap->len > sizeof (domainname) - 1) {
< error = EINVAL;
< goto done2;
< }
---
> if ((u_int)uap->len > sizeof(tmpdomainname) - 1)
> return (EINVAL);
283,286c282,288
< error = copyin(uap->domainname, domainname, uap->len);
< domainname[domainnamelen] = 0;
< done2:
< mtx_unlock(&Giant);
---
> error = copyin(uap->domainname, tmpdomainname, uap->len);
> if (error == 0) {
> tmpdomainname[domainnamelen] = 0;
> mtx_lock(&hostname_mtx);
> bcopy(tmpdomainname, domainname, sizeof(domainname));
> mtx_unlock(&hostname_mtx);
> }