- Use sysconf to get ARG_MAX instead of a macro (#440782)
This commit is contained in:
parent
6c306e5767
commit
784a3d3931
7
ftp.spec
7
ftp.spec
@ -1,7 +1,7 @@
|
|||||||
Summary: The standard UNIX FTP (File Transfer Protocol) client
|
Summary: The standard UNIX FTP (File Transfer Protocol) client
|
||||||
Name: ftp
|
Name: ftp
|
||||||
Version: 0.17
|
Version: 0.17
|
||||||
Release: 46%{?dist}
|
Release: 47%{?dist}
|
||||||
License: BSD with advertising
|
License: BSD with advertising
|
||||||
Group: Applications/Internet
|
Group: Applications/Internet
|
||||||
Source0: ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-ftp-%{version}.tar.gz
|
Source0: ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-ftp-%{version}.tar.gz
|
||||||
@ -28,6 +28,7 @@ Patch19: netkit-ftp-0.17-size.patch
|
|||||||
Patch20: netkit-ftp-0.17-fdleak.patch
|
Patch20: netkit-ftp-0.17-fdleak.patch
|
||||||
Patch21: netkit-ftp-0.17-fprintf.patch
|
Patch21: netkit-ftp-0.17-fprintf.patch
|
||||||
Patch22: netkit-ftp-0.17-bitrate.patch
|
Patch22: netkit-ftp-0.17-bitrate.patch
|
||||||
|
Patch23: netkit-ftp-0.17-arg_max.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: glibc-devel, readline-devel, ncurses-devel
|
BuildRequires: glibc-devel, readline-devel, ncurses-devel
|
||||||
@ -64,6 +65,7 @@ file transfers.
|
|||||||
%patch20 -p1 -b .fdleak
|
%patch20 -p1 -b .fdleak
|
||||||
%patch21 -p1 -b .fprintf
|
%patch21 -p1 -b .fprintf
|
||||||
%patch22 -p1 -b .bitrate
|
%patch22 -p1 -b .bitrate
|
||||||
|
%patch23 -p1 -b .arg_max
|
||||||
|
|
||||||
%build
|
%build
|
||||||
sh configure --with-c-compiler=gcc --enable-ipv6
|
sh configure --with-c-compiler=gcc --enable-ipv6
|
||||||
@ -97,6 +99,9 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||||||
%{_mandir}/man5/netrc.*
|
%{_mandir}/man5/netrc.*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Apr 07 2008 Martin Nagy <mnagy@redhat.com> - 0.17-47
|
||||||
|
- Use sysconf to get ARG_MAX instead of a macro (#440782)
|
||||||
|
|
||||||
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.17-46
|
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.17-46
|
||||||
- Autorebuild for GCC 4.3
|
- Autorebuild for GCC 4.3
|
||||||
|
|
||||||
|
55
netkit-ftp-0.17-arg_max.patch
Normal file
55
netkit-ftp-0.17-arg_max.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
diff -up netkit-ftp-0.17/ftp/glob.c.arg_max netkit-ftp-0.17/ftp/glob.c
|
||||||
|
--- netkit-ftp-0.17/ftp/glob.c.arg_max 2008-04-07 11:41:14.000000000 +0200
|
||||||
|
+++ netkit-ftp-0.17/ftp/glob.c 2008-04-07 12:01:53.000000000 +0200
|
||||||
|
@@ -50,6 +50,7 @@ char glob_rcsid[] =
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
+#include <unistd.h>
|
||||||
|
|
||||||
|
#include "ftp_var.h" /* for protos only */
|
||||||
|
#include "glob.h"
|
||||||
|
@@ -57,7 +58,7 @@ char glob_rcsid[] =
|
||||||
|
#define QUOTE 0200
|
||||||
|
#define TRIM 0177
|
||||||
|
#define eq(a,b) (strcmp(a, b)==0)
|
||||||
|
-#define GAVSIZ (ARG_MAX/6)
|
||||||
|
+#define GAVSIZ (sysconf(_SC_ARG_MAX)/6)
|
||||||
|
#define isdir(d) ((d.st_mode & S_IFMT) == S_IFDIR)
|
||||||
|
|
||||||
|
const char *globerr;
|
||||||
|
@@ -115,7 +116,7 @@ char **
|
||||||
|
ftpglob(const char *v)
|
||||||
|
{
|
||||||
|
char agpath[BUFSIZ];
|
||||||
|
- entry agargv[GAVSIZ];
|
||||||
|
+ entry *agargv;
|
||||||
|
centry vv[2];
|
||||||
|
vv[0].text = v;
|
||||||
|
vv[1].text = NULL;
|
||||||
|
@@ -133,6 +134,8 @@ ftpglob(const char *v)
|
||||||
|
/* added ()'s to sizeof, (ambigious math for the compiler) */
|
||||||
|
lastgpathp = agpath + (sizeof(agpath)- 2);
|
||||||
|
|
||||||
|
+ agargv = (entry *)malloc(sizeof (entry) * GAVSIZ);
|
||||||
|
+ if (agargv == NULL) fatal("Out of memory");
|
||||||
|
ginit(agargv);
|
||||||
|
globcnt = 0;
|
||||||
|
collect(v);
|
||||||
|
@@ -156,7 +159,7 @@ ginit(entry *agargv)
|
||||||
|
gargv = agargv;
|
||||||
|
sortbas = agargv;
|
||||||
|
gargc = 0;
|
||||||
|
- gnleft = ARG_MAX - 4;
|
||||||
|
+ gnleft = sysconf(_SC_ARG_MAX) - 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
@@ -674,6 +677,7 @@ efree(entry *av)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i=0; av[i].text; i++) free(av[i].text);
|
||||||
|
+ free((void *)av);
|
||||||
|
}
|
||||||
|
|
||||||
|
static
|
Loading…
Reference in New Issue
Block a user