mirror of
https://git.freebsd.org/ports.git
synced 2025-06-17 10:40:46 -04:00
Fix a segfault in an IPv4-only case - realloc() may really, well,
"reallocate" memory even when the programmer only asks for a resizing of the region. Reported by: Steve Ames <steve@energistic.com> While I'm here, change the way SSL header and library paths are handled to avoid specifically referencing /usr/lib and /usr/include; while -STABLE's GCC shrugs this off, GCC 3.1 whines loudly about an explicit -I/usr/include (and rightly so, IMHO).
This commit is contained in:
parent
21a0cd795d
commit
66087db901
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=61882
3 changed files with 47 additions and 1 deletions
|
@ -7,7 +7,7 @@
|
|||
|
||||
PORTNAME= curl
|
||||
PORTVERSION= 7.9.7
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= ftp ipv6 www
|
||||
MASTER_SITES= http://curl.haxx.se/download/ \
|
||||
http://download.sourceforge.net/curl/ \
|
||||
|
|
13
ftp/curl/files/patch-configure
Normal file
13
ftp/curl/files/patch-configure
Normal file
|
@ -0,0 +1,13 @@
|
|||
--- configure.curl Mon Jun 24 17:23:46 2002
|
||||
+++ configure Mon Jun 24 17:24:10 2002
|
||||
@@ -9868,8 +9868,10 @@
|
||||
EXTRA_SSL= ;;
|
||||
*)
|
||||
EXTRA_SSL=$OPT_SSL
|
||||
+ if [ ! "$EXTRA_SSL" = "/usr" ]; then
|
||||
LDFLAGS="$LDFLAGS -L$EXTRA_SSL/lib"
|
||||
CPPFLAGS="$CPPFLAGS -I$EXTRA_SSL/include/openssl -I$EXTRA_SSL/include"
|
||||
+ fi
|
||||
;;
|
||||
esac
|
||||
|
33
ftp/curl/files/patch-lib::hostip.c
Normal file
33
ftp/curl/files/patch-lib::hostip.c
Normal file
|
@ -0,0 +1,33 @@
|
|||
--- lib/hostip.c.orig Mon Jun 24 17:05:50 2002
|
||||
+++ lib/hostip.c Mon Jun 24 17:05:54 2002
|
||||
@@ -360,7 +360,7 @@
|
||||
*
|
||||
* Keith McGuigan
|
||||
* 10/3/2001 */
|
||||
-static struct hostent* pack_hostent(char** buf, struct hostent* orig)
|
||||
+static struct hostent* pack_hostent(char** buf, struct hostent* orig, int pass)
|
||||
{
|
||||
char* bufptr;
|
||||
struct hostent* copy;
|
||||
@@ -427,8 +427,9 @@
|
||||
}
|
||||
copy->h_addr_list[i] = NULL;
|
||||
|
||||
- *buf=(char *)realloc(*buf, (int)bufptr-(int)(*buf));
|
||||
- return copy;
|
||||
+ if (pass == 0)
|
||||
+ *buf=(char *)realloc(*buf, (int)bufptr-(int)(*buf));
|
||||
+ return *buf;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -623,7 +624,8 @@
|
||||
/* we make a copy of the hostent right now, right here, as the
|
||||
static one we got a pointer to might get removed when we don't
|
||||
want/expect that */
|
||||
- h = pack_hostent(&buf, h);
|
||||
+ pack_hostent(&buf, h, 0);
|
||||
+ h = pack_hostent(&buf, h, 1);
|
||||
*bufp=(char *)buf;
|
||||
}
|
||||
#endif
|
Loading…
Add table
Reference in a new issue