Re: [PATCH] Errenous use of memset and memcpy

Andreas Schwab
2005-02-19T21:55:36Z

Alexander Nyberg <alexn@dsv.su.se> writes:

> I stumbled across this, looks weird. Presumable fix is:
>
> === arch/ia64/ia32/ia32_signal.c 1.35 vs edited ==> --- 1.35/arch/ia64/ia32/ia32_signal.c 2005-01-25 21:23:45 +01:00
> +++ edited/arch/ia64/ia32/ia32_signal.c 2005-02-12 13:12:25 +01:00
> @@ -460,10 +460,9 @@ __ia32_rt_sigsuspend (compat_sigset_t *s
> sigset_t oldset, set;
>
> scr->scratch_unat = 0; /* avoid leaking kernel bits to user level */
> - memset(&set, 0, sizeof(&set));
> + memset(&set, 0, sizeof(sigset_t));
>
> - if (memcpy(&set.sig, &sset->sig, sigsetsize))
> - return -EFAULT;
> + memcpy(&set.sig, &sset->sig, sigsetsize);

That should be copy_from_user, and the error checking needs to stay.

Andreas.

--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."