Blame SOURCES/netkit-ftp-0.17-out-of-memory.patch

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