Skip to contentSkip to conversation

rsync (GPLv2): fix security vulnerability CVE-2007-4091

PATCH Applied Dexuan Cui 3 participants 7 messages May 10, 2011

lore
Share & tools
lore

Dexuan Cui

author
#0 lore raw

cover rsync (GPLv2): fix security vulnerability CVE-2007-4091

From: Dexuan Cui <[email protected]>

The patch is from https://issues.rpath.com/browse/RPL-1647 and is used to address http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: dcui/master
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/master

Thanks,
Dexuan Cui <[email protected]>
---

Dexuan Cui (1):
rsync (GPLv2): fix security vulnerability CVE-2007-4091

 .../rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch  |   70 ++++++++++++++++++++
 meta/recipes-devtools/rsync/rsync_2.6.9.bb         |    3 +-
 2 files changed, 72 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch
Signature · 1 line
1.7.2
author
#1 lore raw

PATCH 1/1 rsync (GPLv2): fix security vulnerability CVE-2007-4091

From: Dexuan Cui <[email protected]>

Added a patch to fix
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091

---
 .../rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch  |   70 ++++++++++++++++++++
 meta/recipes-devtools/rsync/rsync_2.6.9.bb         |    3 +-
 2 files changed, 72 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch
meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch new file +70 -0
new file mode 100644
index 0000000..f054452
@@ -0,0 +1,70 @@
+Upstream-Status: Backport [ The patch is rsync-2.6.9 specific ]
+
+The patch is from https://issues.rpath.com/browse/RPL-1647 and is used to
+address http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091
+
+Date:   Tue May 10 10:07:36 2011 +0800
+Dexuan Cui <[email protected]>
+
+diff --git a/sender.c b/sender.c
+index 6fcaa65..053a8f1 100644
+--- a/sender.c
++++ b/sender.c
+@@ -123,6 +123,7 @@ void successful_send(int ndx)
+ 	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 @@ void successful_send(int ndx)
+ 				    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 @@ void send_files(struct file_list *flist, int f_out, int f_in)
+ 	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 @@ void send_files(struct file_list *flist, int f_out, int f_in)
+ 				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)
meta/recipes-devtools/rsync/rsync_2.6.9.bb +2 -1
index 4337982..17c18a4 100644
@@ -8,6 +8,7 @@ PRIORITY = "optional"
 DEPENDS = "popt"
 
 SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \
+           file://rsync-2.6.9-fname-obo.patch \
            file://rsyncd.conf"
 
 inherit autotools
@@ -22,4 +23,4 @@ EXTRA_OEMAKE='STRIP=""'
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6d5a9d4c4d3af25cd68fd83e8a8cb09c"
 
-PR = "r2"
+PR = "r3"
Signature · 1 line
1.7.2
#2 lore raw
Quoted 5 lines · Dexuan Cui

From: Dexuan Cui<[email protected]>

Added a patch to fix
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091

This is missing a [YOCTO #bugid], please add and resend. (update branch is OK).

Sau!

Quoted 101 lines
---
  .../rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch  |   70 ++++++++++++++++++++
  meta/recipes-devtools/rsync/rsync_2.6.9.bb         |    3 +-
  2 files changed, 72 insertions(+), 1 deletions(-)

create mode 100644 meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch

meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch new file +70 -0
new file mode 100644
index 0000000..f054452
@@ -0,0 +1,70 @@
+Upstream-Status: Backport [ The patch is rsync-2.6.9 specific ]
+
+The patch is from https://issues.rpath.com/browse/RPL-1647 and is used to
+address http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091
+
+Date:   Tue May 10 10:07:36 2011 +0800
+Dexuan Cui<[email protected]>
+
+diff --git a/sender.c b/sender.c
+index 6fcaa65..053a8f1 100644
+--- a/sender.c
++++ b/sender.c
+@@ -123,6 +123,7 @@ void successful_send(int ndx)
+ 	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 @@ void successful_send(int ndx)
+ 				    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 @@ void send_files(struct file_list *flist, int f_out, int f_in)
+ 	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 @@ void send_files(struct file_list *flist, int f_out, int f_in)
+ 				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)
meta/recipes-devtools/rsync/rsync_2.6.9.bb +2 -1
index 4337982..17c18a4 100644
@@ -8,6 +8,7 @@ PRIORITY = "optional"
  DEPENDS = "popt"
 
  SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \
+           file://rsync-2.6.9-fname-obo.patch \
             file://rsyncd.conf"
 
  inherit autotools
@@ -22,4 +23,4 @@ EXTRA_OEMAKE='STRIP=""'
  LICENSE = "GPLv2+"
  LIC_FILES_CHKSUM = "file://COPYING;md5=6d5a9d4c4d3af25cd68fd83e8a8cb09c"
 
-PR = "r2"
+PR = "r3"
#3 lore raw
Quoted 9 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Saul Wold
Sent: 2011年5月10日 13:02
To: Patches and discussions about the oe-core layer
Subject: Re: [OE-core] [PATCH 1/1] rsync (GPLv2): fix security vulnerability CVE-2007-4091

Quoted 8 lines
Quoted 5 lines · Dexuan Cui

From: Dexuan Cui<[email protected]>

Added a patch to fix
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091

This is missing a [YOCTO #bugid], please add and resend. (update branch is OK).

Saul,
Before the other two CVEs are specifically addressed, I don't think we can call a close on this bug.

Thanks,
Qing

Quoted 114 lines

Sau!

Quoted 3 lines
---
  .../rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch  |   70

++++++++++++++++++++

Quoted 3 lines
  meta/recipes-devtools/rsync/rsync_2.6.9.bb         |    3 +-
  2 files changed, 72 insertions(+), 1 deletions(-)

create mode 100644

meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch

Review

Quoted 2 lines
(quoted diff) +0 -0

b/meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch

Review

Quoted 76 lines

new file mode 100644
index 0000000..f054452

meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch new file +70 -0
@@ -0,0 +1,70 @@
+Upstream-Status: Backport [ The patch is rsync-2.6.9 specific ]
+
+The patch is from https://issues.rpath.com/browse/RPL-1647 and is used to
+address http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091
+
+Date:   Tue May 10 10:07:36 2011 +0800
+Dexuan Cui<[email protected]>
+
+diff --git a/sender.c b/sender.c
+index 6fcaa65..053a8f1 100644
+--- a/sender.c
++++ b/sender.c
+@@ -123,6 +123,7 @@ void successful_send(int ndx)
+ 	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 @@ void successful_send(int ndx)
+ 				    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 @@ void send_files(struct file_list *flist, int f_out, int f_in)
+ 	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 @@ void send_files(struct file_list *flist, int f_out, int f_in)
+ 				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)
(quoted diff) +0 -0

b/meta/recipes-devtools/rsync/rsync_2.6.9.bb

Quoted 12 lines

index 4337982..17c18a4 100644

meta/recipes-devtools/rsync/rsync_2.6.9.bb +1 -0
@@ -8,6 +8,7 @@ PRIORITY = "optional"
  DEPENDS = "popt"
 
  SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \
+           file://rsync-2.6.9-fname-obo.patch \
             file://rsyncd.conf"
 
  inherit autotools

meta/recipes-devtools/rsync/rsync_2.6.9.bb EXTRA_OEMAKE='STRIP=""' · line 24

Quoted 2 lines
meta/recipes-devtools/rsync/rsync_2.6.9.bb +0 -0
@@ -22,4 +23,4 @@ EXTRA_OEMAKE='STRIP=""'
  LICENSE = "GPLv2+"
  LIC_FILES_CHKSUM =

"file://COPYING;md5=6d5a9d4c4d3af25cd68fd83e8a8cb09c"

meta/recipes-devtools/rsync/rsync_2.6.9.bb EXTRA_OEMAKE='STRIP=""' · line 26

Quoted 3 lines
meta/recipes-devtools/rsync/rsync_2.6.9.bb +1 -1
-PR = "r2"
+PR = "r3"

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#4 lore raw
Quoted 12 lines · Qing
Quoted 12 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Saul Wold
Sent: 2011年5月10日 13:02
To: Patches and discussions about the oe-core layer
Subject: Re: [OE-core] [PATCH 1/1] rsync (GPLv2): fix security vulnerability CVE-2007-4091

Quoted 2 lines · Dexuan Cui

From: Dexuan Cui<[email protected]>

Quoted 9 lines
Quoted 5 lines
Quoted 3 lines

Added a patch to fix
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091

This is missing a [YOCTO #bugid], please add and resend. (update branch is OK).

Saul,
Before the other two CVEs are specifically addressed, I don't think we can call a close on this bug.

Yes, that's true, but it's important to know that this patch addresses a part of that bug.

Sau!

Quoted 121 lines

Thanks,
Qing

Quoted 107 lines

Sau!

Quoted 3 lines
---
   .../rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch  |   70

++++++++++++++++++++

Quoted 3 lines
   meta/recipes-devtools/rsync/rsync_2.6.9.bb         |    3 +-
   2 files changed, 72 insertions(+), 1 deletions(-)

create mode 100644

meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch

Review

Quoted 2 lines
(quoted diff) +0 -0

b/meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch

Review

Quoted 76 lines

new file mode 100644
index 0000000..f054452

meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch new file +70 -0
@@ -0,0 +1,70 @@
+Upstream-Status: Backport [ The patch is rsync-2.6.9 specific ]
+
+The patch is from https://issues.rpath.com/browse/RPL-1647 and is used to
+address http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091
+
+Date:   Tue May 10 10:07:36 2011 +0800
+Dexuan Cui<[email protected]>
+
+diff --git a/sender.c b/sender.c
+index 6fcaa65..053a8f1 100644
+--- a/sender.c
++++ b/sender.c
+@@ -123,6 +123,7 @@ void successful_send(int ndx)
+ 	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 @@ void successful_send(int ndx)
+ 				    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 @@ void send_files(struct file_list *flist, int f_out, int f_in)
+ 	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 @@ void send_files(struct file_list *flist, int f_out, int f_in)
+ 				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)
(quoted diff) +0 -0

b/meta/recipes-devtools/rsync/rsync_2.6.9.bb

Quoted 12 lines

index 4337982..17c18a4 100644

meta/recipes-devtools/rsync/rsync_2.6.9.bb +1 -0
@@ -8,6 +8,7 @@ PRIORITY = "optional"
   DEPENDS = "popt"
 
   SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \
+           file://rsync-2.6.9-fname-obo.patch \
              file://rsyncd.conf"
 
   inherit autotools

meta/recipes-devtools/rsync/rsync_2.6.9.bb EXTRA_OEMAKE='STRIP=""' · line 24

Quoted 2 lines
meta/recipes-devtools/rsync/rsync_2.6.9.bb +0 -0
@@ -22,4 +23,4 @@ EXTRA_OEMAKE='STRIP=""'
   LICENSE = "GPLv2+"
   LIC_FILES_CHKSUM =

"file://COPYING;md5=6d5a9d4c4d3af25cd68fd83e8a8cb09c"

Quoted 1 line
Quoted 7 lines

meta/recipes-devtools/rsync/rsync_2.6.9.bb EXTRA_OEMAKE='STRIP=""' · line 26

Quoted 2 lines
meta/recipes-devtools/rsync/rsync_2.6.9.bb +1 -1
-PR = "r2"
+PR = "r3"

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#5 lore raw
Quoted 19 lines · Saul Wold
Quoted 18 lines · Qing
Quoted 17 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Saul Wold Sent: 2011年5月10日 13:02
To: Patches and discussions about the oe-core layer
Subject: Re: [OE-core] [PATCH 1/1] rsync (GPLv2): fix security vulnerability CVE-2007-4091

Quoted 5 lines · Dexuan Cui

From: Dexuan Cui<[email protected]>

Added a patch to fix
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091

This is missing a [YOCTO #bugid], please add and resend. (update branch
is OK).

Quoted 6 lines
Quoted 4 lines

Saul,
Before the other two CVEs are specifically addressed, I don't think
we can call a close on this bug.

Yes, that's true, but it's important to know that this patch addresses a part of that bug.

Hi Saul,
I added "[YOCTO #984] is partially fixed by this commit" and did "git push" just now. Please use the same branch
http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=dcui/master&id=898ce2ddf774646796af5c8700130916afe6dbc1

Thanks,
-- Dexuan

Applied
#6 lore raw
In reply to Dexuan Cui
Quoted 101 lines · Dexuan Cui

From: Dexuan Cui<[email protected]>

Added a patch to fix
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091

---
  .../rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch  |   70 ++++++++++++++++++++
  meta/recipes-devtools/rsync/rsync_2.6.9.bb         |    3 +-
  2 files changed, 72 insertions(+), 1 deletions(-)

create mode 100644 meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch

meta/recipes-devtools/rsync/rsync-2.6.9/rsync-2.6.9-fname-obo.patch new file +70 -0
new file mode 100644
index 0000000..f054452
@@ -0,0 +1,70 @@
+Upstream-Status: Backport [ The patch is rsync-2.6.9 specific ]
+
+The patch is from https://issues.rpath.com/browse/RPL-1647 and is used to
+address http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-4091
+
+Date:   Tue May 10 10:07:36 2011 +0800
+Dexuan Cui<[email protected]>
+
+diff --git a/sender.c b/sender.c
+index 6fcaa65..053a8f1 100644
+--- a/sender.c
++++ b/sender.c
+@@ -123,6 +123,7 @@ void successful_send(int ndx)
+ 	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 @@ void successful_send(int ndx)
+ 				    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 @@ void send_files(struct file_list *flist, int f_out, int f_in)
+ 	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 @@ void send_files(struct file_list *flist, int f_out, int f_in)
+ 				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)
meta/recipes-devtools/rsync/rsync_2.6.9.bb +1 -0
index 4337982..17c18a4 100644
@@ -8,6 +8,7 @@ PRIORITY = "optional"
  DEPENDS = "popt"
 
  SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \
+           file://rsync-2.6.9-fname-obo.patch \
             file://rsyncd.conf"
 
  inherit autotools

meta/recipes-devtools/rsync/rsync_2.6.9.bb EXTRA_OEMAKE='STRIP=""' · line 26

Quoted 5 lines
meta/recipes-devtools/rsync/rsync_2.6.9.bb +1 -1
@@ -22,4 +23,4 @@ EXTRA_OEMAKE='STRIP=""'
  LICENSE = "GPLv2+"
  LIC_FILES_CHKSUM = "file://COPYING;md5=6d5a9d4c4d3af25cd68fd83e8a8cb09c"
 
-PR = "r2"
+PR = "r3"

Merged into oe-core and poky/master and staged for Bernard

Thanks
Sau!