X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Frouters%2Fiplookup.c;h=e9c4df91959716661f2efaa4c51030ba32bf5f07;hb=ce52b325c3cdc39c3dbc933fb9630d894a03feb0;hp=069c0dda1a333aa873d62e2968099cadc6602514;hpb=322050c2d9e83d10f046da71aa2cd9cc5a355b0b;p=exim.git diff --git a/src/src/routers/iplookup.c b/src/src/routers/iplookup.c index 069c0dda1..e9c4df919 100644 --- a/src/src/routers/iplookup.c +++ b/src/src/routers/iplookup.c @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/src/routers/iplookup.c,v 1.8 2006/10/09 14:36:25 ph10 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2006 */ +/* Copyright (c) University of Cambridge 1995 - 2009 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -378,6 +376,9 @@ new_addr->parent = addr; copyflag(new_addr, addr, af_propagate); new_addr->p = addr->p; +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++; new_addr->next = *addr_new; *addr_new = new_addr;