diff options
author | gshapiro <gshapiro@FreeBSD.org> | 2006-06-14 16:23:02 +0000 |
---|---|---|
committer | gshapiro <gshapiro@FreeBSD.org> | 2006-06-14 16:23:02 +0000 |
commit | 1024e3943e17bd4407f0cf3a799cfa05d59f1059 (patch) | |
tree | 6f072dad611b3ce7872008bf9d66b23a34c28039 /contrib/sendmail/src/parseaddr.c | |
parent | ef9770707c0f88e94a0c4a409f8fb74cea250716 (diff) | |
download | FreeBSD-src-1024e3943e17bd4407f0cf3a799cfa05d59f1059.zip FreeBSD-src-1024e3943e17bd4407f0cf3a799cfa05d59f1059.tar.gz |
Import sendmail 8.13.7
Security: FreeBSD-SA-06:17.sendmail
Diffstat (limited to 'contrib/sendmail/src/parseaddr.c')
-rw-r--r-- | contrib/sendmail/src/parseaddr.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/contrib/sendmail/src/parseaddr.c b/contrib/sendmail/src/parseaddr.c index ee4f61f..dea3e1f 100644 --- a/contrib/sendmail/src/parseaddr.c +++ b/contrib/sendmail/src/parseaddr.c @@ -13,7 +13,7 @@ #include <sendmail.h> -SM_RCSID("@(#)$Id: parseaddr.c,v 8.383 2006/02/01 19:46:11 ca Exp $") +SM_RCSID("@(#)$Id: parseaddr.c,v 8.384 2006/04/18 01:28:47 ca Exp $") static void allocaddr __P((ADDRESS *, int, char *, ENVELOPE *)); static int callsubr __P((char**, int, ENVELOPE *)); @@ -1442,7 +1442,11 @@ rewrite(pvp, ruleset, reclevel, e, maxatom) endtoken = LOOKUPEND; mapname = *++rvp; if (mapname == NULL) + { syserr("554 5.3.0 rewrite: missing mapname"); + /* NOTREACHED */ + SM_ASSERT(0); + } } map = stab(mapname, ST_MAP, ST_FIND); if (map == NULL) @@ -1452,8 +1456,12 @@ rewrite(pvp, ruleset, reclevel, e, maxatom) /* extract the match part */ key_rvp = ++rvp; if (key_rvp == NULL) + { syserr("554 5.3.0 rewrite: missing key for map %s", mapname); + /* NOTREACHED */ + SM_ASSERT(0); + } default_rvp = NULL; arg_rvp = argvect; xpvp = NULL; @@ -1522,7 +1530,8 @@ rewrite(pvp, ruleset, reclevel, e, maxatom) if (replac == NULL && default_rvp != NULL) { /* create the default */ - cataddr(default_rvp, NULL, cbuf, sizeof cbuf, '\0'); + cataddr(default_rvp, NULL, cbuf, sizeof cbuf, + '\0'); replac = cbuf; } @@ -3175,8 +3184,7 @@ rscap(rwset, p1, p2, e, pvp, pvpbuf, size) sm_dprintf("rscap(%s, %s, %s)\n", rwset, p1, p2 == NULL ? "(NULL)" : p2); - if (pvp != NULL) - *pvp = NULL; + SM_REQUIRE(pvp != NULL); rsno = strtorwset(rwset, NULL, ST_FIND); if (rsno < 0) return EX_UNAVAILABLE; |