nm4 2008/12/12 14:44:25 GMT
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src daemon.c
Log:
Accept len modification fix. fixes: bug #770
Revision Changes Path
1.558 +3 -0 exim/exim-doc/doc-txt/ChangeLog
1.26 +2 -1 exim/exim-src/src/daemon.c
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.557
retrieving revision 1.558
diff -u -r1.557 -r1.558
--- ChangeLog 12 Dec 2008 14:36:37 -0000 1.557
+++ ChangeLog 12 Dec 2008 14:44:25 -0000 1.558
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.557 2008/12/12 14:36:37 nm4 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.558 2008/12/12 14:44:25 nm4 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -80,6 +80,9 @@
NM/09 Bugzilla 787: Potential buffer overflow in string_format
Patch provided by Eugene Bujak
+NM/10 Bugzilla 770: Problem on some platforms modifying the len parameter to accept()
+ Patch provided by Maxim Dounin
+
Exim version 4.69
-----------------
Index: daemon.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/daemon.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- daemon.c 28 Jan 2008 18:24:07 -0000 1.25
+++ daemon.c 12 Dec 2008 14:44:25 -0000 1.26
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/daemon.c,v 1.25 2008/01/28 18:24:07 fanf2 Exp $ */
+/* $Cambridge: exim/exim-src/src/daemon.c,v 1.26 2008/12/12 14:44:25 nm4 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1613,7 +1613,7 @@
struct sockaddr_in accepted;
#endif
- EXIM_SOCKLEN_T len = sizeof(accepted);
+ EXIM_SOCKLEN_T len;
pid_t pid;
/* This code is placed first in the loop, so that it gets obeyed at the
@@ -1808,6 +1808,7 @@
{
if (FD_ISSET(listen_sockets[sk], &select_listen))
{
+ len = sizeof(accepted);
accept_socket = accept(listen_sockets[sk],
(struct sockaddr *)&accepted, &len);
FD_CLR(listen_sockets[sk], &select_listen);