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
Panic-die if a system filter or router generates more then 32767 child
[exim.git]
/
src
/
src
/
routers
/
redirect.c
diff --git
a/src/src/routers/redirect.c
b/src/src/routers/redirect.c
index 2a9d5e3b2c150966fb83172be7a2fb983537ce67..2c515d8facca8642e2fbd6e5cf4cc6783592e640 100644
(file)
--- a/
src/src/routers/redirect.c
+++ b/
src/src/routers/redirect.c
@@
-1,4
+1,4
@@
-/* $Cambridge: exim/src/src/routers/redirect.c,v 1.1
7 2006/07/13 13:53:33
ph10 Exp $ */
+/* $Cambridge: exim/src/src/routers/redirect.c,v 1.1
9 2007/01/02 11:25:00
ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
/*************************************************
* Exim - an Internet mail transport agent *
@@
-334,6
+334,9
@@
while (generated != NULL)
next->parent = addr;
orflag(next, addr, af_ignore_error);
next->start_router = rblock->redirect_router;
next->parent = addr;
orflag(next, addr, af_ignore_error);
next->start_router = rblock->redirect_router;
+ if (addr->child_count == SHRT_MAX)
+ log_write(0, LOG_MAIN|LOG_PANIC_DIE, "%s router generated more than %d "
+ "child addresses for <%s>", rblock->name, SHRT_MAX, addr->address);
addr->child_count++;
next->next = *addr_new;
addr->child_count++;
next->next = *addr_new;
@@
-736,8
+739,8
@@
switch (frc)
int ovector[3];
if (ob->forbid_smtp_code &&
pcre_exec(regex_smtp_code, NULL, CS addr->message,
int ovector[3];
if (ob->forbid_smtp_code &&
pcre_exec(regex_smtp_code, NULL, CS addr->message,
- Ustrlen(addr->message), 0, PCRE_EOPT,
- ovector, sizeof(ovector)/sizeof(int)) >= 0)
+
Ustrlen(addr->message), 0, PCRE_EOPT,
+
ovector, sizeof(ovector)/sizeof(int)) >= 0)
{
DEBUG(D_route) debug_printf("SMTP code at start of error message "
"is ignored because forbid_smtp_code is set\n");
{
DEBUG(D_route) debug_printf("SMTP code at start of error message "
"is ignored because forbid_smtp_code is set\n");