]> git.baikalelectronics.ru Git - kernel.git/commitdiff
nvmet: fix a width vs precision bug in nvmet_subsys_attr_serial_show()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 9 Sep 2021 09:14:40 +0000 (12:14 +0300)
committerChristoph Hellwig <hch@lst.de>
Mon, 13 Sep 2021 15:04:03 +0000 (17:04 +0200)
This was intended to limit the number of characters printed from
"subsys->serial" to NVMET_SN_MAX_SIZE.  But accidentally the width
specifier was used instead of the precision specifier so it only
affects the alignment and not the number of characters printed.

Fixes: b16b565b638e ("nvmet: fixup buffer overrun in nvmet_subsys_attr_serial()")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/target/configfs.c

index d784f3c200b4cefcaab34c8466b7242a8cef7d4b..be5d82421e3a458a5dc2f37de7877320df998b5c 100644 (file)
@@ -1067,7 +1067,7 @@ static ssize_t nvmet_subsys_attr_serial_show(struct config_item *item,
 {
        struct nvmet_subsys *subsys = to_subsys(item);
 
-       return snprintf(page, PAGE_SIZE, "%*s\n",
+       return snprintf(page, PAGE_SIZE, "%.*s\n",
                        NVMET_SN_MAX_SIZE, subsys->serial);
 }