From: Dan Carpenter Date: Wed, 13 Oct 2021 08:30:05 +0000 (+0300) Subject: scsi: mpi3mr: Use scnprintf() instead of snprintf() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=30e99f05f8b19b8274f3666afb70c9cc686ec65c;p=linux.git 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 --- 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);