aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2012-03-05 07:53:03 +0800
committermarcus <marcus@FreeBSD.org>2012-03-05 07:53:03 +0800
commit6256f3843371078e431c278e061c0598ff7ad562 (patch)
treea698a2a0714fd1846746864d61676cc371c89355 /net
parentb655dd8cd88a84bd93322a9a5859d080e09d0c3c (diff)
downloadfreebsd-ports-gnome-6256f3843371078e431c278e061c0598ff7ad562.tar.gz
freebsd-ports-gnome-6256f3843371078e431c278e061c0598ff7ad562.tar.zst
freebsd-ports-gnome-6256f3843371078e431c278e061c0598ff7ad562.zip
Fix a NULL pointer deref when closing a gnutls session.
Submitted by: Volker <volker@vwsoft.com>
Diffstat (limited to 'net')
-rw-r--r--net/glib-networking/Makefile2
-rw-r--r--net/glib-networking/files/patch-tls_gnutls_gtlsclientconnection-gnutls.c21
2 files changed, 22 insertions, 1 deletions
diff --git a/net/glib-networking/Makefile b/net/glib-networking/Makefile
index 05b7be98d09e..d079f8b99b51 100644
--- a/net/glib-networking/Makefile
+++ b/net/glib-networking/Makefile
@@ -8,7 +8,7 @@
PORTNAME= glib-networking
PORTVERSION= 2.28.7
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= net
MASTER_SITES= GNOME
DIST_SUBDIR= gnome2
diff --git a/net/glib-networking/files/patch-tls_gnutls_gtlsclientconnection-gnutls.c b/net/glib-networking/files/patch-tls_gnutls_gtlsclientconnection-gnutls.c
new file mode 100644
index 000000000000..1e8f45fb017f
--- /dev/null
+++ b/net/glib-networking/files/patch-tls_gnutls_gtlsclientconnection-gnutls.c
@@ -0,0 +1,21 @@
+--- tls/gnutls/gtlsclientconnection-gnutls.c.orig 2012-03-04 18:47:23.000000000 -0500
++++ tls/gnutls/gtlsclientconnection-gnutls.c 2012-03-04 18:50:26.000000000 -0500
+@@ -349,7 +349,8 @@ g_tls_client_connection_gnutls_finish_ha
+ {
+ GTlsClientConnectionGnutls *gnutls = G_TLS_CLIENT_CONNECTION_GNUTLS (conn);
+
+- if (g_error_matches (*inout_error, G_TLS_ERROR, G_TLS_ERROR_NOT_TLS) &&
++ if (inout_error &&
++ g_error_matches (*inout_error, G_TLS_ERROR, G_TLS_ERROR_NOT_TLS) &&
+ gnutls->priv->cert_requested)
+ {
+ g_clear_error (inout_error);
+@@ -361,7 +362,7 @@ g_tls_client_connection_gnutls_finish_ha
+ {
+ gnutls_datum session_data;
+
+- if (!*inout_error &&
++ if (inout_error && !*inout_error &&
+ gnutls_session_get_data2 (g_tls_connection_gnutls_get_session (conn),
+ &session_data) == 0)
+ {