Fix rpmsgfs/rpmsgfs_client.c:774:3: warning: 'strcpy' writing 1 or more bytes into a region of size 0 overflows the destination
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
parent
0fcb4575bb
commit
4d8c92603b
@ -726,11 +726,12 @@ int rpmsgfs_client_rename(FAR void *handle, FAR const char *oldpath,
|
|||||||
struct rpmsgfs_rename_s *msg;
|
struct rpmsgfs_rename_s *msg;
|
||||||
size_t len;
|
size_t len;
|
||||||
size_t oldlen;
|
size_t oldlen;
|
||||||
|
size_t newlen;
|
||||||
uint32_t space;
|
uint32_t space;
|
||||||
|
|
||||||
len = sizeof(*msg);
|
oldlen = strlen(oldpath) + 1;
|
||||||
oldlen = (strlen(oldpath) + 1 + 0x7) & ~0x7;
|
newlen = strlen(newpath) + 1;
|
||||||
len += oldlen + strlen(newpath) + 1;
|
len = sizeof(*msg) + oldlen + newlen;
|
||||||
|
|
||||||
msg = rpmsg_get_tx_payload_buffer(&priv->ept, &space, true);
|
msg = rpmsg_get_tx_payload_buffer(&priv->ept, &space, true);
|
||||||
if (!msg)
|
if (!msg)
|
||||||
@ -740,8 +741,8 @@ int rpmsgfs_client_rename(FAR void *handle, FAR const char *oldpath,
|
|||||||
|
|
||||||
DEBUGASSERT(len <= space);
|
DEBUGASSERT(len <= space);
|
||||||
|
|
||||||
strcpy(msg->pathname, oldpath);
|
memcpy(msg->pathname, oldpath, oldlen);
|
||||||
strcpy(msg->pathname + oldlen, newpath);
|
memcpy(msg->pathname + oldlen, newpath, newlen);
|
||||||
|
|
||||||
return rpmsgfs_send_recv(priv, RPMSGFS_RENAME, false,
|
return rpmsgfs_send_recv(priv, RPMSGFS_RENAME, false,
|
||||||
(struct rpmsgfs_header_s *)msg, len, NULL);
|
(struct rpmsgfs_header_s *)msg, len, NULL);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user