From 30e99f05f8b19b8274f3666afb70c9cc686ec65c Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Wed, 13 Oct 2021 11:30:05 +0300 Subject: [PATCH] scsi: mpi3mr: Use scnprintf() instead of snprintf() I intended to move from snprintf() to scnprintf() in the previous patch but I messed up and did not do that. The result of my bug is that it this function could trigger a WARN() if the buffer is too large. Link: https://lore.kernel.org/r/20211013083005.GA8592@kili Fixes: 76a4f7cc5973 ("scsi: mpi3mr: Clean up mpi3mr_print_ioc_info()") Signed-off-by: Dan Carpenter Signed-off-by: Martin K. Petersen --- drivers/scsi/mpi3mr/mpi3mr_fw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpi3mr/mpi3mr_fw.c b/drivers/scsi/mpi3mr/mpi3mr_fw.c index e34417a2429a2..aa5d877df6f83 100644 --- a/drivers/scsi/mpi3mr/mpi3mr_fw.c +++ b/drivers/scsi/mpi3mr/mpi3mr_fw.c @@ -3045,7 +3045,7 @@ mpi3mr_print_ioc_info(struct mpi3mr_ioc *mrioc) for (i = 0; i < ARRAY_SIZE(mpi3mr_protocols); i++) { if (mrioc->facts.protocol_flags & mpi3mr_protocols[i].protocol) { - bytes_written += snprintf(protocol + bytes_written, + bytes_written += scnprintf(protocol + bytes_written, sizeof(protocol) - bytes_written, "%s%s", bytes_written ? "," : "", mpi3mr_protocols[i].name); @@ -3056,7 +3056,7 @@ mpi3mr_print_ioc_info(struct mpi3mr_ioc *mrioc) for (i = 0; i < ARRAY_SIZE(mpi3mr_capabilities); i++) { if (mrioc->facts.protocol_flags & mpi3mr_capabilities[i].capability) { - bytes_written += snprintf(capabilities + bytes_written, + bytes_written += scnprintf(capabilities + bytes_written, sizeof(capabilities) - bytes_written, "%s%s", bytes_written ? "," : "", mpi3mr_capabilities[i].name); -- 2.30.2