Skip to content

Commit

Permalink
[SPARC]: Fix length parameter verification in sys_getdomainname().
Browse files Browse the repository at this point in the history
Found by scrashme.

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Jul 21, 2006
1 parent 8a84eb1 commit 8310a32
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
18 changes: 9 additions & 9 deletions arch/sparc/kernel/sys_sparc.c
Original file line number Diff line number Diff line change
Expand Up @@ -465,21 +465,21 @@ sys_rt_sigaction(int sig,

asmlinkage int sys_getdomainname(char __user *name, int len)
{
int nlen;
int err = -EFAULT;
int nlen, err;

if (len < 0 || len > __NEW_UTS_LEN)
return -EINVAL;

down_read(&uts_sem);

nlen = strlen(system_utsname.domainname) + 1;

if (nlen < len)
len = nlen;
if (len > __NEW_UTS_LEN)
goto done;
if (copy_to_user(name, system_utsname.domainname, len))
goto done;
err = 0;
done:

err = -EFAULT;
if (!copy_to_user(name, system_utsname.domainname, len))
err = 0;

up_read(&uts_sem);
return err;
}
18 changes: 9 additions & 9 deletions arch/sparc64/kernel/sys_sparc.c
Original file line number Diff line number Diff line change
Expand Up @@ -701,21 +701,21 @@ extern void check_pending(int signum);

asmlinkage long sys_getdomainname(char __user *name, int len)
{
int nlen;
int err = -EFAULT;
int nlen, err;

if (len < 0 || len > __NEW_UTS_LEN)
return -EINVAL;

down_read(&uts_sem);

nlen = strlen(system_utsname.domainname) + 1;

if (nlen < len)
len = nlen;
if (len > __NEW_UTS_LEN)
goto done;
if (copy_to_user(name, system_utsname.domainname, len))
goto done;
err = 0;
done:

err = -EFAULT;
if (!copy_to_user(name, system_utsname.domainname, len))
err = 0;

up_read(&uts_sem);
return err;
}
Expand Down

0 comments on commit 8310a32

Please sign in to comment.