30 lines
948 B
Diff
30 lines
948 B
Diff
|
diff -up netkit-ftp-0.17/ftp/glob.c.arg_max1 netkit-ftp-0.17/ftp/glob.c
|
||
|
--- netkit-ftp-0.17/ftp/glob.c.arg_max1 2012-01-24 12:59:09.335021131 +0100
|
||
|
+++ netkit-ftp-0.17/ftp/glob.c 2012-01-24 13:05:27.752028732 +0100
|
||
|
@@ -55,10 +55,15 @@ char glob_rcsid[] =
|
||
|
#include "ftp_var.h" /* for protos only */
|
||
|
#include "glob.h"
|
||
|
|
||
|
+#ifndef LOWEST_ARG_MAX
|
||
|
+ #define LOWEST_ARG_MAX 2621440 /* ARG_MAX for default stack size limit 10240 */
|
||
|
+#endif
|
||
|
+
|
||
|
#define QUOTE 0200
|
||
|
#define TRIM 0177
|
||
|
#define eq(a,b) (strcmp(a, b)==0)
|
||
|
-#define GAVSIZ (sysconf(_SC_ARG_MAX)/6)
|
||
|
+#define max(a,b) (a > b ? a : b)
|
||
|
+#define GAVSIZ (max((int)sysconf(_SC_ARG_MAX), LOWEST_ARG_MAX)/6)
|
||
|
#define isdir(d) ((d.st_mode & S_IFMT) == S_IFDIR)
|
||
|
|
||
|
const char *globerr;
|
||
|
@@ -159,7 +164,7 @@ ginit(entry *agargv)
|
||
|
gargv = agargv;
|
||
|
sortbas = agargv;
|
||
|
gargc = 0;
|
||
|
- gnleft = sysconf(_SC_ARG_MAX) - 4;
|
||
|
+ gnleft = max((int)sysconf(_SC_ARG_MAX), LOWEST_ARG_MAX) - 4;
|
||
|
}
|
||
|
|
||
|
static
|