mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
staging/vc04_services: Remove all strcpy() uses in favor of strscpy()
strcpy() performs no bounds checking on the destination buffer. This could result in linear overflows beyond the end of the buffer, leading to all kinds of misbehaviors. The safe replacement is strscpy(). Signed-off-by: Len Baker <len.baker@gmx.com> Link: https://lore.kernel.org/r/20210718131217.3806-1-len.baker@gmx.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
041878d46b
commit
7aaabc3794
@@ -884,7 +884,7 @@ static int vidioc_querycap(struct file *file, void *priv,
|
||||
|
||||
vchiq_mmal_version(dev->instance, &major, &minor);
|
||||
|
||||
strcpy((char *)cap->driver, "bm2835 mmal");
|
||||
strscpy(cap->driver, "bm2835 mmal", sizeof(cap->driver));
|
||||
snprintf((char *)cap->card, sizeof(cap->card), "mmal service %d.%d",
|
||||
major, minor);
|
||||
|
||||
|
||||
@@ -3716,7 +3716,7 @@ int vchiq_dump_service_state(void *dump_context, struct vchiq_service *service)
|
||||
sizeof(remoteport) - len2,
|
||||
" (client %x)", service->client_id);
|
||||
} else {
|
||||
strcpy(remoteport, "n/a");
|
||||
strscpy(remoteport, "n/a", sizeof(remoteport));
|
||||
}
|
||||
|
||||
len += scnprintf(buf + len, sizeof(buf) - len,
|
||||
|
||||
Reference in New Issue
Block a user