]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: backend: make sure to NULL terminate stack buffer
authorNuno Sá <nuno.sa@analog.com>
Tue, 18 Feb 2025 10:31:25 +0000 (10:31 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:39:23 +0000 (14:39 +0200)
[ Upstream commit 035b4989211dc1c8626e186d655ae8ca5141bb73 ]

Make sure to NULL terminate the buffer in
iio_backend_debugfs_write_reg() before passing it to sscanf(). It is a
stack variable so we should not assume it will 0 initialized.

Fixes: cdf01e0809a4 ("iio: backend: add debugFs interface")
Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Reviewed-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20250218-dev-iio-misc-v1-1-bf72b20a1eb8@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iio/industrialio-backend.c

index fb34a8e4d04e74359fa4fae708ce2956a325ff03..42e0ee683ef6b2f189a34341767f9d3a4e3a8214 100644 (file)
@@ -155,10 +155,12 @@ static ssize_t iio_backend_debugfs_write_reg(struct file *file,
        ssize_t rc;
        int ret;
 
-       rc = simple_write_to_buffer(buf, sizeof(buf), ppos, userbuf, count);
+       rc = simple_write_to_buffer(buf, sizeof(buf) - 1, ppos, userbuf, count);
        if (rc < 0)
                return rc;
 
+       buf[count] = '\0';
+
        ret = sscanf(buf, "%i %i", &back->cached_reg_addr, &val);
 
        switch (ret) {