]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
netdevsim: Add trailing zero to terminate the string in nsim_nexthop_bucket_activity_...
authorZichen Xie <zichenxie0106@gmail.com>
Tue, 22 Oct 2024 17:19:08 +0000 (12:19 -0500)
committerJakub Kicinski <kuba@kernel.org>
Tue, 29 Oct 2024 18:43:01 +0000 (11:43 -0700)
This was found by a static analyzer.
We should not forget the trailing zero after copy_from_user()
if we will further do some string operations, sscanf() in this
case. Adding a trailing zero will ensure that the function
performs properly.

Fixes: c6385c0b67c5 ("netdevsim: Allow reporting activity on nexthop buckets")
Signed-off-by: Zichen Xie <zichenxie0106@gmail.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20241022171907.8606-1-zichenxie0106@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/netdevsim/fib.c

index 41e80f78b316024f562d6e972ff02e0264bb9d96..16c382c42227e770eb7fdd7c96d98d87aff944b3 100644 (file)
@@ -1377,10 +1377,12 @@ static ssize_t nsim_nexthop_bucket_activity_write(struct file *file,
 
        if (pos != 0)
                return -EINVAL;
-       if (size > sizeof(buf))
+       if (size > sizeof(buf) - 1)
                return -EINVAL;
        if (copy_from_user(buf, user_buf, size))
                return -EFAULT;
+       buf[size] = 0;
+
        if (sscanf(buf, "%u %hu", &nhid, &bucket_index) != 2)
                return -EINVAL;