diff options
author | marcus <marcus@FreeBSD.org> | 2012-03-05 07:53:03 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2012-03-05 07:53:03 +0800 |
commit | 6256f3843371078e431c278e061c0598ff7ad562 (patch) | |
tree | a698a2a0714fd1846746864d61676cc371c89355 /net | |
parent | b655dd8cd88a84bd93322a9a5859d080e09d0c3c (diff) | |
download | freebsd-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/Makefile | 2 | ||||
-rw-r--r-- | net/glib-networking/files/patch-tls_gnutls_gtlsclientconnection-gnutls.c | 21 |
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) + { |