staging: most: configfs: use strlcpy
authorChristian Gromm <christian.gromm@microchip.com>
Fri, 13 Dec 2019 12:04:17 +0000 (13:04 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Dec 2019 12:54:36 +0000 (13:54 +0100)
This patch uses strlcpy to copy data provided by userspace in order
to not overflow the allocated space.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Link: https://lore.kernel.org/r/1576238662-16512-5-git-send-email-christian.gromm@microchip.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/most/configfs.c

index d67102229afece5517ffd04fd64eab63f3606eef..9fbcadfafba213aaaf31222985b606669f463b72 100644 (file)
@@ -197,7 +197,7 @@ static ssize_t mdev_link_device_store(struct config_item *item,
 {
        struct mdev_link *mdev_link = to_mdev_link(item);
 
-       strcpy(mdev_link->device, page);
+       strlcpy(mdev_link->device, page, sizeof(mdev_link->device));
        strim(mdev_link->device);
        return count;
 }
@@ -212,7 +212,7 @@ static ssize_t mdev_link_channel_store(struct config_item *item,
 {
        struct mdev_link *mdev_link = to_mdev_link(item);
 
-       strcpy(mdev_link->channel, page);
+       strlcpy(mdev_link->channel, page, sizeof(mdev_link->channel));
        strim(mdev_link->channel);
        return count;
 }
@@ -227,7 +227,8 @@ static ssize_t mdev_link_comp_store(struct config_item *item,
 {
        struct mdev_link *mdev_link = to_mdev_link(item);
 
-       strcpy(mdev_link->comp, page);
+       strlcpy(mdev_link->comp, page, sizeof(mdev_link->comp));
+       strim(mdev_link->comp);
        return count;
 }
 
@@ -242,7 +243,8 @@ static ssize_t mdev_link_comp_params_store(struct config_item *item,
 {
        struct mdev_link *mdev_link = to_mdev_link(item);
 
-       strcpy(mdev_link->comp_params, page);
+       strlcpy(mdev_link->comp_params, page, sizeof(mdev_link->comp_params));
+       strim(mdev_link->comp_params);
        return count;
 }