git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Guard against buffer overflow in moan_check_errorcopy().
[exim.git]
/
src
/
src
/
moan.c
diff --git
a/src/src/moan.c
b/src/src/moan.c
index 5ef5fe42c3049ca508d573b204d740bdc06f6e34..0080e57be5ae986138fbbe2b7ee8fa4c93fa43d2 100644
(file)
--- a/
src/src/moan.c
+++ b/
src/src/moan.c
@@
-1,4
+1,4
@@
-/* $Cambridge: exim/src/src/moan.c,v 1.
8 2007/02/06 11:11:40
ph10 Exp $ */
+/* $Cambridge: exim/src/src/moan.c,v 1.
9 2007/08/29 13:58:57
ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
/*************************************************
* Exim - an Internet mail transport agent *
@@
-610,10
+610,7
@@
while ((item = string_nextinlist(&listptr, &sep, buffer, sizeof(buffer)))
if (match_address_list(recipient, TRUE, TRUE, &pattern, NULL, 0, UCHAR_MAX+1,
NULL) == OK)
{
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;
deliver_domain = domain;
yield = expand_string_copy(newaddress);
deliver_domain = deliver_localpart = NULL;