diff options
author | rhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4> | 2007-10-01 04:19:06 +0000 |
---|---|---|
committer | rhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4> | 2007-10-01 04:19:06 +0000 |
commit | a6fda97e2cc82e0714105c80f15faa70c67f5e6b (patch) | |
tree | b4906591e5b11a199942d93947619ab49de0ba1e /patches/rsync/rsync-2.6.9.diff | |
parent | d995784bb9793ed0438f693b0bac3a4aee201f0f (diff) | |
download | slackbuilds-a6fda97e2cc82e0714105c80f15faa70c67f5e6b.tar.gz slackbuilds-a6fda97e2cc82e0714105c80f15faa70c67f5e6b.tar.bz2 |
added rsync
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@1392 370017ae-e619-0410-ac65-c121f96126d4
Diffstat (limited to 'patches/rsync/rsync-2.6.9.diff')
-rw-r--r-- | patches/rsync/rsync-2.6.9.diff | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/patches/rsync/rsync-2.6.9.diff b/patches/rsync/rsync-2.6.9.diff new file mode 100644 index 00000000..26805ef4 --- /dev/null +++ b/patches/rsync/rsync-2.6.9.diff @@ -0,0 +1,61 @@ +--- rsync-2.6.9.orig/sender.c ++++ rsync-2.6.9/sender.c +@@ -123,6 +123,7 @@ + char fname[MAXPATHLEN]; + struct file_struct *file; + unsigned int offset; ++ size_t l = 0; + + if (ndx < 0 || ndx >= the_file_list->count) + return; +@@ -133,6 +134,20 @@ + file->dir.root, "/", NULL); + } else + offset = 0; ++ ++ l = offset + 1; ++ if (file) { ++ if (file->dirname) ++ l += strlen(file->dirname); ++ if (file->basename) ++ l += strlen(file->basename); ++ } ++ ++ if (l >= sizeof(fname)) { ++ rprintf(FERROR, "Overlong pathname\n"); ++ exit_cleanup(RERR_FILESELECT); ++ } ++ + f_name(file, fname + offset); + if (remove_source_files) { + if (do_unlink(fname) == 0) { +@@ -224,6 +239,7 @@ + enum logcode log_code = log_before_transfer ? FLOG : FINFO; + int f_xfer = write_batch < 0 ? batch_fd : f_out; + int i, j; ++ size_t l = 0; + + if (verbose > 2) + rprintf(FINFO, "send_files starting\n"); +@@ -259,6 +275,20 @@ + fname[offset++] = '/'; + } else + offset = 0; ++ ++ l = offset + 1; ++ if (file) { ++ if (file->dirname) ++ l += strlen(file->dirname); ++ if (file->basename) ++ l += strlen(file->basename); ++ } ++ ++ if (l >= sizeof(fname)) { ++ rprintf(FERROR, "Overlong pathname\n"); ++ exit_cleanup(RERR_FILESELECT); ++ } ++ + fname2 = f_name(file, fname + offset); + + if (verbose > 2) + |