diff --git a/usr.sbin/cdcontrol/cdcontrol.c b/usr.sbin/cdcontrol/cdcontrol.c index 7fad22e177b..c38fdb2bc4b 100644 --- a/usr.sbin/cdcontrol/cdcontrol.c +++ b/usr.sbin/cdcontrol/cdcontrol.c @@ -33,6 +33,7 @@ static const char rcsid[] = #include #include #include +#include #include #define VERSION "2.0" @@ -1036,17 +1037,18 @@ char *parse (char *buf, int *cmd) int open_cd () { - char devbuf[80]; + char devbuf[MAXPATHLEN]; if (fd > -1) return (1); - if (*cdname == '/') - strcpy (devbuf, cdname); - else if (*cdname == 'r') - sprintf (devbuf, "/dev/%s", cdname); - else - sprintf (devbuf, "/dev/r%s", cdname); + if (*cdname == '/') { + snprintf (devbuf, MAXPATHLEN, "%s", cdname); + } else if (*cdname == 'r') { + snprintf (devbuf, MAXPATHLEN, "/dev/%s", cdname); + } else { + snprintf (devbuf, MAXPATHLEN, "/dev/r%s", cdname); + } fd = open (devbuf, O_RDONLY);