[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Sun Oct 27 11:12:38 MDT 2013


The branch, master has been updated
       via  63f9197 Return an error if a buffer overflows in do_mknod().
      from  f643330 Restore sending of "-ef" marker to the server.

;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 63f91976112b8b2118cc17eb5fc8142175566f4f
Author: Wayne Davison <wayned at samba.org>
Date:   Sun Oct 27 10:12:53 2013 -0700

    Return an error if a buffer overflows in do_mknod().

-----------------------------------------------------------------------

Summary of changes:
 syscall.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/syscall.c b/syscall.c
index fd23d15..117f1a4 100644
--- a/syscall.c
+++ b/syscall.c
@@ -147,13 +147,13 @@ int do_mknod(const char *pathname, mode_t mode, dev_t dev)
 	if (S_ISSOCK(mode)) {
 		int sock;
 		struct sockaddr_un saddr;
+		unsigned int len = strlcpy(saddr.sun_path, pathname, sizeof saddr.sun_path);
+		if (len >= sizeof saddr.sun_path) {
+			errno = ENAMETOOLONG;
+			return -1;
+		}
 #ifdef HAVE_SOCKADDR_UN_LEN
-		unsigned int len =
-#endif
-		    strlcpy(saddr.sun_path, pathname, sizeof saddr.sun_path);
-#ifdef HAVE_SOCKADDR_UN_LEN
-		saddr.sun_len = len >= sizeof saddr.sun_path
-			      ? sizeof saddr.sun_path : len + 1;
+		saddr.sun_len = len + 1;
 #endif
 		saddr.sun_family = AF_UNIX;
 


-- 
The rsync repository.


More information about the rsync-cvs mailing list