]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
rfkill: Replace strcpy() with memcpy()
authorDavid Laight <david.laight.linux@gmail.com>
Sat, 6 Jun 2026 20:26:02 +0000 (21:26 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 10 Jun 2026 08:22:47 +0000 (10:22 +0200)
The length of the string is calculated in order to allocate the correct
sized memory block, use the same length to copy the string.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Link: https://patch.msgid.link/20260606202633.5018-8-david.laight.linux@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/rfkill/core.c

index 4827e1fb8804ade237eade1a6a9a353a4096fe47..9e143c4bfe6a6beb02eaaf01fd9555423799fb4c 100644 (file)
@@ -1000,6 +1000,7 @@ struct rfkill * __must_check rfkill_alloc(const char *name,
 {
        struct rfkill *rfkill;
        struct device *dev;
+       size_t name_len;
 
        if (WARN_ON(!ops))
                return NULL;
@@ -1013,14 +1014,15 @@ struct rfkill * __must_check rfkill_alloc(const char *name,
        if (WARN_ON(type == RFKILL_TYPE_ALL || type >= NUM_RFKILL_TYPES))
                return NULL;
 
-       rfkill = kzalloc(sizeof(*rfkill) + strlen(name) + 1, GFP_KERNEL);
+       name_len = strlen(name);
+       rfkill = kzalloc(sizeof(*rfkill) + name_len + 1, GFP_KERNEL);
        if (!rfkill)
                return NULL;
 
        spin_lock_init(&rfkill->lock);
        INIT_LIST_HEAD(&rfkill->node);
        rfkill->type = type;
-       strcpy(rfkill->name, name);
+       memcpy(rfkill->name, name, name_len);
        rfkill->ops = ops;
        rfkill->data = ops_data;