ec551bcb93
new sendmail 8.14.x tree in pkgsrc. Changes to the original package include: - Path changes in Makefile and Makefile.common to reflect new location under mail/ of this package - Fix a bunch of issues found by pkg_lint
53 lines
1.5 KiB
Text
53 lines
1.5 KiB
Text
$NetBSD: patch-ai,v 1.1.1.1 2007/04/17 10:16:53 jnemeth Exp $
|
|
|
|
--- sendmail/mci.c.orig 2005-07-12 22:27:44.000000000 +0000
|
|
+++ sendmail/mci.c
|
|
@@ -20,6 +20,7 @@ SM_RCSID("@(#)$Id: mci.c,v 8.216 2005/07
|
|
#endif /* NETINET || NETINET6 */
|
|
|
|
#include <dirent.h>
|
|
+#include <limits.h>
|
|
|
|
static int mci_generate_persistent_path __P((const char *, char *,
|
|
int, bool));
|
|
@@ -717,7 +718,11 @@ mci_lock_host_statfile(mci)
|
|
{
|
|
int save_errno = errno;
|
|
int retVal = EX_OK;
|
|
+#if defined(PATH_MAX)
|
|
+ char fname[PATH_MAX];
|
|
+#else
|
|
char fname[MAXPATHLEN];
|
|
+#endif
|
|
|
|
if (HostStatDir == NULL || mci->mci_host == NULL)
|
|
return EX_OK;
|
|
@@ -1135,7 +1140,7 @@ mci_traverse_persistent(action, pathname
|
|
pathname, sm_errstring(errno));
|
|
return -1;
|
|
}
|
|
- len = sizeof(newpath) - MAXNAMLEN - 3;
|
|
+ len = sizeof(newpath) - 2; /* enough space for '/' and NUL */
|
|
if (sm_strlcpy(newpath, pathname, len) >= len)
|
|
{
|
|
if (tTd(56, 2))
|
|
@@ -1145,6 +1150,7 @@ mci_traverse_persistent(action, pathname
|
|
}
|
|
newptr = newpath + strlen(newpath);
|
|
*newptr++ = '/';
|
|
+ len = sizeof(newpath) - (newptr - newpath);
|
|
|
|
/*
|
|
** repeat until no file has been removed
|
|
@@ -1161,9 +1167,8 @@ mci_traverse_persistent(action, pathname
|
|
if (e->d_name[0] == '.')
|
|
continue;
|
|
|
|
- (void) sm_strlcpy(newptr, e->d_name,
|
|
- sizeof newpath -
|
|
- (newptr - newpath));
|
|
+ if (sm_strlcpy(newptr, e->d_name, len) >= len)
|
|
+ continue;
|
|
|
|
if (StopRequest)
|
|
stop_sendmail();
|