mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
hv: utils: replace deprecated strcpy with strscpy in kvp_register
strcpy() has been deprecated [1] because it performs no bounds checking on the destination buffer, which can lead to buffer overflows. While the current code works correctly, replace strcpy() with the safer strscpy() to follow secure coding best practices. Use ->body.kvp_register.version directly as the destination buffer and remove the local variable. [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Signed-off-by: Wei Liu <wei.liu@kernel.org>
This commit is contained in:
parent
3fcf923302
commit
3f8c8497b4
|
|
@ -27,6 +27,7 @@
|
|||
#include <linux/connector.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/hyperv.h>
|
||||
#include <linux/string.h>
|
||||
#include <hyperv/hvhdk.h>
|
||||
|
||||
#include "hyperv_vmbus.h"
|
||||
|
|
@ -130,18 +131,15 @@ static void kvp_register_done(void)
|
|||
static int
|
||||
kvp_register(int reg_value)
|
||||
{
|
||||
|
||||
struct hv_kvp_msg *kvp_msg;
|
||||
char *version;
|
||||
int ret;
|
||||
|
||||
kvp_msg = kzalloc_obj(*kvp_msg);
|
||||
if (!kvp_msg)
|
||||
return -ENOMEM;
|
||||
|
||||
version = kvp_msg->body.kvp_register.version;
|
||||
kvp_msg->kvp_hdr.operation = reg_value;
|
||||
strcpy(version, HV_DRV_VERSION);
|
||||
strscpy(kvp_msg->body.kvp_register.version, HV_DRV_VERSION);
|
||||
|
||||
ret = hvutil_transport_send(hvt, kvp_msg, sizeof(*kvp_msg),
|
||||
kvp_register_done);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user