diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 23c08bf3db58c..fb28f60071a40 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -454,13 +454,12 @@ static int proc_get_long(char **buf, size_t *size, unsigned long *val, bool *neg, const char *perm_tr, unsigned perm_tr_len, char *tr) { - int len; char *p, tmp[TMPBUFLEN]; + ssize_t len = *size; - if (!*size) + if (len <= 0) return -EINVAL; - len = *size; if (len > TMPBUFLEN - 1) len = TMPBUFLEN - 1;