summary |
tags |
clone url |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0dbb462)
SCCS-vsn: usr.sbin/sendmail/src/parseaddr.c 8.27
-static char sccsid[] = "@(#)parseaddr.c 8.26 (Berkeley) %G%";
+static char sccsid[] = "@(#)parseaddr.c 8.27 (Berkeley) %G%";
#endif /* not lint */
#include "sendmail.h"
#endif /* not lint */
#include "sendmail.h"
# define MAXMATCH 9 /* max params per rewrite */
# define MAX_CONTROL ' '
# define MAXMATCH 9 /* max params per rewrite */
# define MAX_CONTROL ' '
+# ifndef MAXRULERECURSION
+# define MAXRULERECURSION 50 /* max recursion depth */
+# endif
static char control_opts[MAX_CONTROL];
static char control_opts[MAX_CONTROL];
int
static char control_init_data[] = {
MATCHZANY, OP_VARLEN,
int
static char control_init_data[] = {
MATCHZANY, OP_VARLEN,
syserr("554 rewrite: illegal ruleset number %d", ruleset);
return EX_CONFIG;
}
syserr("554 rewrite: illegal ruleset number %d", ruleset);
return EX_CONFIG;
}
+ if (reclevel++ > MAXRULERECURSION)
{
syserr("rewrite: infinite recursion, ruleset %d", ruleset);
return EX_CONFIG;
{
syserr("rewrite: infinite recursion, ruleset %d", ruleset);
return EX_CONFIG;