mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-05-19 20:35:50 -04:00
Do not try to send a symlink with a 0-length value.
This avoids a transfer error in the receiver.
This commit is contained in:
3
NEWS
3
NEWS
@@ -11,6 +11,9 @@ Changes since 3.0.5:
|
||||
|
||||
- Fixed the parsing of an [IPv6_LITERAL_ADDR] when a USER@ is prefixed.
|
||||
|
||||
- The sender now skips a (bogus) symlink that has a 0-length value, which
|
||||
avoids a transfer error in the receiver.
|
||||
|
||||
- Fixed the rrsync script to avoid a server-side problem when -e is at the
|
||||
start of the short options.
|
||||
|
||||
|
||||
8
flist.c
8
flist.c
@@ -1342,6 +1342,14 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
|
||||
if (preserve_links && S_ISLNK(file->mode)) {
|
||||
symlink_name = F_SYMLINK(file);
|
||||
symlink_len = strlen(symlink_name);
|
||||
if (symlink_len == 0) {
|
||||
io_error |= IOERR_GENERAL;
|
||||
f_name(file, fbuf);
|
||||
rprintf(FERROR_XFER,
|
||||
"skipping symlink with 0-length value: %s\n",
|
||||
full_fname(fbuf));
|
||||
return NULL;
|
||||
}
|
||||
} else {
|
||||
symlink_name = NULL;
|
||||
symlink_len = 0;
|
||||
|
||||
Reference in New Issue
Block a user