diff options
Diffstat (limited to 'src/macro.c')
-rw-r--r-- | src/macro.c | 42 |
1 files changed, 11 insertions, 31 deletions
diff --git a/src/macro.c b/src/macro.c index 0f31d11..d45a0c7 100644 --- a/src/macro.c +++ b/src/macro.c @@ -1,39 +1,17 @@ /* - * Copyright (c) 1983, 1995-1997 Eric P. Allman + * Copyright (c) 1998 Sendmail, Inc. All rights reserved. + * Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved. * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. + * By using this file, you agree to the terms and conditions set + * forth in the LICENSE file which can be found at the top level of + * the sendmail distribution. * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. */ #ifndef lint -static char sccsid[] = "@(#)macro.c 8.18 (Berkeley) 2/1/97"; +static char sccsid[] = "@(#)macro.c 8.26 (Berkeley) 11/8/1998"; #endif /* not lint */ # include "sendmail.h" @@ -72,7 +50,7 @@ expand(s, buf, bufsize, e) int i; int skiplev; /* skipping nesting level */ int iflev; /* if nesting level */ - char xbuf[BUFSIZ]; + char xbuf[MACBUFSIZE]; static int explevel = 0; if (tTd(35, 24)) @@ -229,6 +207,8 @@ expand(s, buf, bufsize, e) ** $n name of sendmail ("MAILER-DAEMON" on local ** net typically)+ ** $o delimiters ("operators") for address tokens+ +** (set via OperatorChars option in V6 or later +** sendmail.cf files) ** $p my process id in decimal ** $q the string that becomes an address -- this is ** normally used to combine $g & $x. @@ -353,7 +333,7 @@ macid(p, ep) { int mid; register char *bp; - char mbuf[21]; + char mbuf[MAXMACNAMELEN + 1]; if (tTd(35, 14)) { @@ -381,7 +361,7 @@ macid(p, ep) return *p; } bp = mbuf; - while (*++p != '\0' && *p != '}' && bp < &mbuf[sizeof mbuf]) + while (*++p != '\0' && *p != '}' && bp < &mbuf[sizeof mbuf - 1]) { if (isascii(*p) && (isalnum(*p) || *p == '_')) *bp++ = *p; |