diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 62e5c48f8e14..f9e6b257a70a 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -796,7 +796,8 @@ vt_allocate_keyboard(struct vt_device *vd) continue; bzero(&ki, sizeof(ki)); - strcpy(ki.kb_name, k->kb_name); + strncpy(ki.kb_name, k->kb_name, sizeof(ki.kb_name)); + ki.kb_name[sizeof(ki.kb_name) - 1] = '\0'; ki.kb_unit = k->kb_unit; kbdd_ioctl(k0, KBADDKBD, (caddr_t) &ki);