Fix segfault in ftpd introduced in 0.3f.

PORTREVISION bumped.

Obtained from:	assar on heimdal-discuss@sics.se
This commit is contained in:
Jacques Vidrine 2001-06-22 21:28:21 +00:00
parent 3464b96a91
commit 4d72d6c732
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=44332
2 changed files with 67 additions and 0 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= heimdal
PORTVERSION= 0.3f
PORTREVISION= 1
CATEGORIES= security ipv6
MASTER_SITES= ftp://ftp.pdc.kth.se/pub/heimdal/src/ \
ftp://ftp.replay.com/pub/replay/crypto/APPS/kerberos/heimdal/ \

View File

@ -0,0 +1,66 @@
Index: cf/broken-glob.m4
===================================================================
RCS file: /afs/pdc.kth.se/src/packages/kth-krb/SourceRepository/aux/broken-glob.m4,v
retrieving revision 1.3
diff -u -w -r1.3 broken-glob.m4
--- cf/broken-glob.m4 2001/03/26 11:40:24 1.3
+++ cf/broken-glob.m4 2001/06/19 09:07:50
@@ -8,7 +8,13 @@
AC_TRY_LINK([
#include <stdio.h>
#include <glob.h>],[
-glob(NULL, GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE|GLOB_LIMIT,
+glob(NULL, GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE|
+#ifdef GLOB_MAXPATH
+GLOB_MAXPATH
+#else
+GLOB_LIMIT
+#endif
+,
NULL, NULL);
],:,ac_cv_func_glob_working=no,:))
Index: appl/ftp/ftpd/ftpd.c
===================================================================
RCS file: /afs/pdc.kth.se/src/packages/kth-krb/SourceRepository/appl/ftp/ftpd/ftpd.c,v
retrieving revision 1.157
diff -u -w -r1.157 ftpd.c
--- appl/ftp/ftpd/ftpd.c 2001/04/19 14:41:29 1.157
+++ appl/ftp/ftpd/ftpd.c 2001/06/19 09:07:50
@@ -2165,7 +2165,13 @@
char buf[MaxPathLen];
if (strpbrk(whichf, "~{[*?") != NULL) {
- int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE|GLOB_LIMIT;
+ int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE|
+#ifdef GLOB_MAXPATH
+ GLOB_MAXPATH
+#else
+ GLOB_LIMIT
+#endif
+ ;
memset(&gl, 0, sizeof(gl));
freeglob = 1;
Index: appl/ftp/ftpd/popen.c
===================================================================
RCS file: /afs/pdc.kth.se/src/packages/kth-krb/SourceRepository/appl/ftp/ftpd/popen.c,v
retrieving revision 1.24
diff -u -w -r1.24 popen.c
--- appl/ftp/ftpd/popen.c 2001/03/26 11:41:02 1.24
+++ appl/ftp/ftpd/popen.c 2001/06/19 09:07:50
@@ -139,7 +139,13 @@
for (gargc = argc = 1; argv[argc] && gargc < MAXGLOBS - 1; argc++) {
glob_t gl;
int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE
- | GLOB_LIMIT;
+ |
+#ifdef GLOB_MAXPATH
+ GLOB_MAXPATH
+#else
+ GLOB_LIMIT
+#endif
+ ;
memset(&gl, 0, sizeof(gl));
if (no_glob || glob(argv[argc], flags, NULL, &gl))