diff options
Diffstat (limited to 'arch/um/kernel/exitcode.c')
| -rw-r--r-- | arch/um/kernel/exitcode.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/um/kernel/exitcode.c b/arch/um/kernel/exitcode.c index 829df49dee99..41ebbfebb333 100644 --- a/arch/um/kernel/exitcode.c +++ b/arch/um/kernel/exitcode.c @@ -40,9 +40,11 @@ static ssize_t exitcode_proc_write(struct file *file,  		const char __user *buffer, size_t count, loff_t *pos)  {  	char *end, buf[sizeof("nnnnn\0")]; +	size_t size;  	int tmp; -	if (copy_from_user(buf, buffer, count)) +	size = min(count, sizeof(buf)); +	if (copy_from_user(buf, buffer, size))  		return -EFAULT;  	tmp = simple_strtol(buf, &end, 0);  |