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, | |||
| 40 | const char __user *buffer, size_t count, loff_t *pos) | 40 | const char __user *buffer, size_t count, loff_t *pos) |
| 41 | { | 41 | { |
| 42 | char *end, buf[sizeof("nnnnn\0")]; | 42 | char *end, buf[sizeof("nnnnn\0")]; |
| 43 | size_t size; | ||
| 43 | int tmp; | 44 | int tmp; |
| 44 | 45 | ||
| 45 | if (copy_from_user(buf, buffer, count)) | 46 | size = min(count, sizeof(buf)); |
| 47 | if (copy_from_user(buf, buffer, size)) | ||
| 46 | return -EFAULT; | 48 | return -EFAULT; |
| 47 | 49 | ||
| 48 | tmp = simple_strtol(buf, &end, 0); | 50 | tmp = simple_strtol(buf, &end, 0); |
