diff -ru sbin/mount_nwfs.orig/mount_nwfs.c sbin/mount_nwfs/mount_nwfs.c --- sbin/mount_nwfs.orig/mount_nwfs.c 2003-08-08 01:18:40.000000000 -0300 +++ sbin/mount_nwfs/mount_nwfs.c 2004-10-25 21:08:26.000000000 -0200 @@ -143,7 +143,8 @@ warnx("volume name too long: %s", tmp); break; } - ncp_str_upper(strcpy(mdata.mounted_vol,tmp)); + strlcpy(mdata.mounted_vol, tmp, sizeof(mdata.mounted_vol)); + ncp_str_upper(mdata.mounted_vol); if (*p == '/') p++; p1 = mdata.root_path + 2; @@ -184,7 +185,8 @@ case 'V': if (strlen(optarg) > NCP_VOLNAME_LEN) errx(EX_DATAERR, "volume too long: %s", optarg); - ncp_str_upper(strcpy(mdata.mounted_vol,optarg)); + strlcpy(mdata.mounted_vol,optarg,sizeof(mdata.mounted_vol)); + ncp_str_upper(mdata.mounted_vol); break; case 'u': { struct passwd *pwd; @@ -347,7 +349,7 @@ ncp_disconnect(connHandle); exit(1); } - strcpy(mdata.mount_point,mount_point); + strlcpy(mdata.mount_point,mount_point,sizeof(mdata.mount_point)); mdata.version = NWFS_VERSION; error = mount(NWFS_VFSNAME, mdata.mount_point, mntflags, (void*)&mdata); if (error) {