static const char *perm_map = "rwxrwxrwx";
int i;
- strcpy(perms, "----------");
+ strlcpy(perms, "----------", 11);
for (i = 0; i < 9; i++) {
if (mode & (1 << i))
if (pool->live)
FDEXTSTAT(pool->live);
- strcpy(buf, " FREE BOUND\n");
+ strlcpy(buf, " FREE BOUND\n", sizeof buf);
write(fd, buf, strlen(buf));
for (cur = pool->free; cur; cur = cur->next)
char buf[BIGPATHBUFLEN];
size_t len;
- strcpy(buf, RSYNC_NAME ": ");
+ strlcpy(buf, RSYNC_NAME ": ", sizeof buf);
len = (sizeof RSYNC_NAME ": ") - 1;
va_start(ap, format);
case 'L':
if (hlink && *hlink) {
n = hlink;
- strcpy(buf2, " => ");
+ strlcpy(buf2, " => ", sizeof buf2);
} else if (S_ISLNK(file->mode) && file->u.link) {
n = file->u.link;
- strcpy(buf2, " -> ");
+ strlcpy(buf2, " -> ", sizeof buf2);
} else {
n = "";
if (!fmt[1])
break;
- strcpy(buf2, " ");
+ strlcpy(buf2, " ", sizeof buf2);
}
strlcat(fmt, "s", sizeof fmt);
snprintf(buf2 + 4, sizeof buf2 - 4, fmt, n);
void option_error(void)
{
if (!err_buf[0]) {
- strcpy(err_buf, "Error parsing options: "
- "option may be supported on client but not on server?\n");
+ strlcpy(err_buf, "Error parsing options: option may "
+ "be supported on client but not on server?\n",
+ sizeof err_buf);
}
rprintf(FERROR, RSYNC_NAME ": %s", err_buf);
case OPT_DAEMON:
if (am_daemon) {
- strcpy(err_buf, "Attempt to hack rsync thwarted!\n");
+ strlcpy(err_buf,
+ "Attempt to hack rsync thwarted!\n",
+ sizeof err_buf);
return 0;
}
poptFreeContext(pc);
stats.num_files - stats.current_file_index - 1,
stats.num_files);
} else
- strcpy(eol, "\r");
+ strlcpy(eol, "\r", sizeof eol);
rprintf(FCLIENT, "%12s %3d%% %7.2f%s %4d:%02d:%02d%s",
human_num(ofs), pct, rate, units,
remain_h, remain_m, remain_s, eol);
buf.st_mode &= ~0777;
buf.st_mtime = (time_t)0;
buf.st_uid = buf.st_gid = 0;
- strcpy(linkbuf, " -> ");
+ strlcpy(linkbuf, " -> ", sizeof linkbuf);
/* const-cast required for silly UNICOS headers */
len = readlink((char *) fname, linkbuf+4, sizeof(linkbuf) - 4);
if (len == -1)
(int)mt->tm_min,
(int)mt->tm_sec);
} else {
- strcpy(datebuf, " ");
+ strlcpy(datebuf, " ", sizeof datebuf);
}
/* TODO: Perhaps escape special characters in fname? */