diff --git a/flist.c b/flist.c index 7e4eef55..e8043c57 100644 --- a/flist.c +++ b/flist.c @@ -1228,8 +1228,11 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) } } - if (fn != fbuf) + if (fn != fbuf) { + if (len >= MAXPATHLEN) + overflow_exit("send_file_list"); memmove(fbuf, fn, len + 1); + } if (implied_dirs && (p=strrchr(fbuf,'/')) && p != fbuf) { /* Send the implied directories at the start of the