Ensures that the string is null-terminate in connection with the
use of strncpy, by switching from strncpy to strzcpy.

Signed-off-by: Rickard Strandqvist <rickard_strandqv...@spectrumdigital.se>
---
 drivers/mmc/host/vub300.c |   24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/mmc/host/vub300.c b/drivers/mmc/host/vub300.c
index 4262296..191e649 100644
--- a/drivers/mmc/host/vub300.c
+++ b/drivers/mmc/host/vub300.c
@@ -515,7 +515,7 @@ static void new_system_port_status(struct vub300_mmc_host 
*vub300)
                vub300->card_present = 1;
                vub300->bus_width = 0;
                if (disable_offload_processing)
-                       strncpy(vub300->vub_name, "EMPTY Processing Disabled",
+                       strzcpy(vub300->vub_name, "EMPTY Processing Disabled",
                                sizeof(vub300->vub_name));
                else
                        vub300->vub_name[0] = 0;
@@ -1222,7 +1222,7 @@ static void __download_offload_pseudocode(struct 
vub300_mmc_host *vub300,
                dev_err(&vub300->udev->dev,
                        "corrupt offload pseudocode in firmware %s\n",
                        vub300->vub_name);
-               strncpy(vub300->vub_name, "corrupt offload pseudocode",
+               strzcpy(vub300->vub_name, "corrupt offload pseudocode",
                        sizeof(vub300->vub_name));
                return;
        }
@@ -1250,7 +1250,7 @@ static void __download_offload_pseudocode(struct 
vub300_mmc_host *vub300,
                                                xfer_buffer, xfer_length, HZ);
                        kfree(xfer_buffer);
                        if (retval < 0) {
-                               strncpy(vub300->vub_name,
+                               strzcpy(vub300->vub_name,
                                        "SDIO pseudocode download failed",
                                        sizeof(vub300->vub_name));
                                return;
@@ -1260,7 +1260,7 @@ static void __download_offload_pseudocode(struct 
vub300_mmc_host *vub300,
                                "not enough memory for xfer buffer to send"
                                " INTERRUPT_PSEUDOCODE for %s %s\n", fw->data,
                                vub300->vub_name);
-                       strncpy(vub300->vub_name,
+                       strzcpy(vub300->vub_name,
                                "SDIO interrupt pseudocode download failed",
                                sizeof(vub300->vub_name));
                        return;
@@ -1269,7 +1269,7 @@ static void __download_offload_pseudocode(struct 
vub300_mmc_host *vub300,
                dev_err(&vub300->udev->dev,
                        "corrupt interrupt pseudocode in firmware %s %s\n",
                        fw->data, vub300->vub_name);
-               strncpy(vub300->vub_name, "corrupt interrupt pseudocode",
+               strzcpy(vub300->vub_name, "corrupt interrupt pseudocode",
                        sizeof(vub300->vub_name));
                return;
        }
@@ -1297,7 +1297,7 @@ static void __download_offload_pseudocode(struct 
vub300_mmc_host *vub300,
                                                xfer_buffer, xfer_length, HZ);
                        kfree(xfer_buffer);
                        if (retval < 0) {
-                               strncpy(vub300->vub_name,
+                               strzcpy(vub300->vub_name,
                                        "SDIO pseudocode download failed",
                                        sizeof(vub300->vub_name));
                                return;
@@ -1307,7 +1307,7 @@ static void __download_offload_pseudocode(struct 
vub300_mmc_host *vub300,
                                "not enough memory for xfer buffer to send"
                                " TRANSFER_PSEUDOCODE for %s %s\n", fw->data,
                                vub300->vub_name);
-                       strncpy(vub300->vub_name,
+                       strzcpy(vub300->vub_name,
                                "SDIO transfer pseudocode download failed",
                                sizeof(vub300->vub_name));
                        return;
@@ -1316,7 +1316,7 @@ static void __download_offload_pseudocode(struct 
vub300_mmc_host *vub300,
                dev_err(&vub300->udev->dev,
                        "corrupt transfer pseudocode in firmware %s %s\n",
                        fw->data, vub300->vub_name);
-               strncpy(vub300->vub_name, "corrupt transfer pseudocode",
+               strzcpy(vub300->vub_name, "corrupt transfer pseudocode",
                        sizeof(vub300->vub_name));
                return;
        }
@@ -1350,7 +1350,7 @@ static void __download_offload_pseudocode(struct 
vub300_mmc_host *vub300,
                dev_err(&vub300->udev->dev,
                        "corrupt dynamic registers in firmware %s\n",
                        vub300->vub_name);
-               strncpy(vub300->vub_name, "corrupt dynamic registers",
+               strzcpy(vub300->vub_name, "corrupt dynamic registers",
                        sizeof(vub300->vub_name));
                return;
        }
@@ -1380,11 +1380,11 @@ static void download_offload_pseudocode(struct 
vub300_mmc_host *vub300)
                 vub300->vub_name);
        retval = request_firmware(&fw, vub300->vub_name, &card->dev);
        if (retval < 0) {
-               strncpy(vub300->vub_name, "vub_default.bin",
+               strzcpy(vub300->vub_name, "vub_default.bin",
                        sizeof(vub300->vub_name));
                retval = request_firmware(&fw, vub300->vub_name, &card->dev);
                if (retval < 0) {
-                       strncpy(vub300->vub_name,
+                       strzcpy(vub300->vub_name,
                                "no SDIO offload firmware found",
                                sizeof(vub300->vub_name));
                } else {
@@ -1766,7 +1766,7 @@ static void vub300_cmndwork_thread(struct work_struct 
*work)
                         * has been already downloaded to the VUB300 chip
                         */
                } else if (0 == vub300->mmc->card->sdio_funcs) {
-                       strncpy(vub300->vub_name, "SD memory device",
+                       strzcpy(vub300->vub_name, "SD memory device",
                                sizeof(vub300->vub_name));
                } else {
                        download_offload_pseudocode(vub300);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to