ph10 2007/08/29 14:58:57 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src moan.c
Log:
Guard against buffer overflow in moan_check_errorcopy().
Revision Changes Path
1.528 +2 -0 exim/exim-doc/doc-txt/ChangeLog
1.9 +1 -4 exim/exim-src/src/moan.c
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.527
retrieving revision 1.528
diff -u -r1.527 -r1.528
--- ChangeLog 23 Aug 2007 11:01:49 -0000 1.527
+++ ChangeLog 29 Aug 2007 13:58:57 -0000 1.528
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.527 2007/08/23 11:01:49 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.528 2007/08/29 13:58:57 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -97,6 +97,8 @@
PH/21 Added message_body_newlines option.
+PH/22 Guard against possible overflow in moan_check_errorcopy().
+
Exim version 4.67
-----------------
Index: moan.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/moan.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- moan.c 6 Feb 2007 11:11:40 -0000 1.8
+++ moan.c 29 Aug 2007 13:58:57 -0000 1.9
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/moan.c,v 1.8 2007/02/06 11:11:40 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/moan.c,v 1.9 2007/08/29 13:58:57 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -610,10 +610,7 @@
if (match_address_list(recipient, TRUE, TRUE, &pattern, NULL, 0, UCHAR_MAX+1,
NULL) == OK)
{
- uschar temp[256];
- Ustrncpy(temp, localpart, llen);
- temp[llen] = 0;
- deliver_localpart = temp;
+ deliver_localpart = string_copyn(localpart, llen);
deliver_domain = domain;
yield = expand_string_copy(newaddress);
deliver_domain = deliver_localpart = NULL;