X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/9ef506a2b2270b242cfd5734722c44e7e3d3478f..83078af5b0b1db4eb185cb256ebb76c117eea110:/log.c diff --git a/log.c b/log.c index 2355214e..ef91f985 100644 --- a/log.c +++ b/log.c @@ -394,7 +394,7 @@ void rsyserr(enum logcode code, int errcode, const char *format, ...) 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); @@ -544,15 +544,15 @@ static void log_formatted(enum logcode code, char *format, char *op, 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); @@ -655,7 +655,7 @@ static void log_formatted(enum logcode code, char *format, char *op, rprintf(FERROR, "buffer overflow expanding %%%c -- exiting\n", p[0]); - exit_cleanup(RERR_MESSAGEIO); + EXIT_OR_RETURN(RERR_MESSAGEIO); } /* Shuffle the rest of the string along to make space for n */