projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
change call to expand() to be more rational (and consistent!)
[unix-history]
/
usr
/
src
/
usr.sbin
/
sendmail
/
src
/
parseaddr.c
diff --git
a/usr/src/usr.sbin/sendmail/src/parseaddr.c
b/usr/src/usr.sbin/sendmail/src/parseaddr.c
index
6469f14
..
f3fe77b
100644
(file)
--- a/
usr/src/usr.sbin/sendmail/src/parseaddr.c
+++ b/
usr/src/usr.sbin/sendmail/src/parseaddr.c
@@
-7,7
+7,7
@@
*/
#ifndef lint
*/
#ifndef lint
-static char sccsid[] = "@(#)parseaddr.c 8.5
5
(Berkeley) %G%";
+static char sccsid[] = "@(#)parseaddr.c 8.5
8
(Berkeley) %G%";
#endif /* not lint */
#include "sendmail.h"
#endif /* not lint */
#include "sendmail.h"
@@
-435,7
+435,7
@@
prescan(addr, delim, pvpbuf, pvpbsize, delimptr)
char obuf[50];
firsttime = FALSE;
char obuf[50];
firsttime = FALSE;
- expand("\201o", obuf,
&obuf[sizeof obuf - sizeof DELIMCHARS]
, CurEnv);
+ expand("\201o", obuf,
sizeof obuf - sizeof DELIMCHARS
, CurEnv);
strcat(obuf, DELIMCHARS);
for (p = obuf; *p != '\0'; p++)
{
strcat(obuf, DELIMCHARS);
for (p = obuf; *p != '\0'; p++)
{
@@
-476,6
+476,8
@@
prescan(addr, delim, pvpbuf, pvpbsize, delimptr)
if (q >= &pvpbuf[pvpbsize - 5])
{
usrerr("553 Address too long");
if (q >= &pvpbuf[pvpbsize - 5])
{
usrerr("553 Address too long");
+ if (strlen(addr) > MAXNAME)
+ addr[MAXNAME] = '\0';
returnnull:
if (delimptr != NULL)
*delimptr = p;
returnnull:
if (delimptr != NULL)
*delimptr = p;
@@
-1579,7
+1581,7
@@
buildaddr(tv, a, flags, e)
int spaceleft;
static MAILER errormailer;
static char *errorargv[] = { "ERROR", NULL };
int spaceleft;
static MAILER errormailer;
static char *errorargv[] = { "ERROR", NULL };
- static char buf[MAXNAME];
+ static char buf[MAXNAME
+ 1
];
if (tTd(24, 5))
{
if (tTd(24, 5))
{
@@
-2030,8
+2032,8
@@
remotename(name, m, flags, pstat, e)
char *fancy;
char *oldg = macvalue('g', e);
int rwset;
char *fancy;
char *oldg = macvalue('g', e);
int rwset;
- static char buf[MAXNAME];
- char lbuf[MAXNAME];
+ static char buf[MAXNAME
+ 1
];
+ char lbuf[MAXNAME
+ 1
];
char pvpbuf[PSBUFSIZE];
if (tTd(12, 1))
char pvpbuf[PSBUFSIZE];
if (tTd(12, 1))
@@
-2119,9
+2121,9
@@
remotename(name, m, flags, pstat, e)
/* need to make sure route-addrs have <angle brackets> */
if (bitset(RF_CANONICAL, flags) && lbuf[0] == '@')
/* need to make sure route-addrs have <angle brackets> */
if (bitset(RF_CANONICAL, flags) && lbuf[0] == '@')
- expand("<\201g>", buf,
&buf[sizeof buf - 1]
, e);
+ expand("<\201g>", buf,
sizeof buf
, e);
else
else
- expand(fancy, buf,
&buf[sizeof buf - 1]
, e);
+ expand(fancy, buf,
sizeof buf
, e);
define('g', oldg, e);
define('g', oldg, e);