diff options
author | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2010-08-30 07:00:17 +0800 |
---|---|---|
committer | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2010-08-30 07:00:17 +0800 |
commit | 489936bc2fa571c8c6a4ada3a17db8e327c3dcec (patch) | |
tree | fe615c738df286da51698b0889a99d5a6f3b65f4 /devel/glib20 | |
parent | 134f039ee5321c7243f94d3d0fad61d8b95e55d7 (diff) | |
download | marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar.gz marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar.bz2 marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar.lz marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar.xz marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.tar.zst marcuscom-ports-489936bc2fa571c8c6a4ada3a17db8e327c3dcec.zip |
Make sure that if the message control length is 0 that the control member
is set to NULL. Apparently g_alloca() on Linux does this if the size to
be allocated is 0 bytes.
With this fix, GNOME 2.31 starts for me.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@14482 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'devel/glib20')
-rw-r--r-- | devel/glib20/Makefile | 4 | ||||
-rw-r--r-- | devel/glib20/files/patch-gio_gsocket.c | 18 |
2 files changed, 20 insertions, 2 deletions
diff --git a/devel/glib20/Makefile b/devel/glib20/Makefile index c57ca6afa..d7006a44b 100644 --- a/devel/glib20/Makefile +++ b/devel/glib20/Makefile @@ -3,13 +3,13 @@ # Whom: Vanilla I. Shu <vanilla@FreeBSD.org> # # $FreeBSD$ -# $MCom: ports/devel/glib20/Makefile,v 1.180 2010/08/29 21:04:30 marcus Exp $ +# $MCom: ports/devel/glib20/Makefile,v 1.181 2010/08/29 21:07:05 marcus Exp $ # # !! DON'T FORGET ABOUT devel/gio-fam-backend !! PORTNAME= glib PORTVERSION= 2.25.14 -PORTREVISION?= 4 +PORTREVISION?= 5 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNOME:S,%SUBDIR%,sources/glib/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/},} \ ftp://ftp.gtk.org/pub/glib/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/ \ diff --git a/devel/glib20/files/patch-gio_gsocket.c b/devel/glib20/files/patch-gio_gsocket.c new file mode 100644 index 000000000..8a6b0c182 --- /dev/null +++ b/devel/glib20/files/patch-gio_gsocket.c @@ -0,0 +1,18 @@ +--- gio/gsocket.c.orig 2010-08-29 18:57:52.000000000 -0400 ++++ gio/gsocket.c 2010-08-29 18:57:55.000000000 -0400 +@@ -2893,8 +2893,13 @@ g_socket_send_message (GSocket + for (i = 0; i < num_messages; i++) + msg.msg_controllen += CMSG_SPACE (g_socket_control_message_get_size (messages[i])); + +- msg.msg_control = g_alloca (msg.msg_controllen); +- memset (msg.msg_control, '\0', msg.msg_controllen); ++ if (msg.msg_controllen == 0) ++ msg.msg_control = NULL; ++ else ++ { ++ msg.msg_control = g_alloca (msg.msg_controllen); ++ memset (msg.msg_control, '\0', msg.msg_controllen); ++ } + + cmsg = CMSG_FIRSTHDR (&msg); + for (i = 0; i < num_messages; i++) |