Add patch for RH bug #1458498 (Crash under soup_socket_new())

This commit is contained in:
Milan Crha 2017-11-16 13:01:09 +01:00
parent e8a0ec11a2
commit a15ff8ad39
2 changed files with 60 additions and 1 deletions

View File

@ -0,0 +1,53 @@
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index f7aef68e..cccaef1e 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -355,6 +355,7 @@ soup_session_finalize (GObject *object)
G_OBJECT_CLASS (soup_session_parent_class)->finalize (object);
}
+/* requires conn_lock */
static void
ensure_socket_props (SoupSession *session)
{
@@ -770,11 +771,13 @@ soup_session_set_property (GObject *object, guint prop_id,
break;
}
+ g_mutex_lock (&priv->conn_lock);
if (priv->socket_props && socket_props_changed) {
soup_socket_properties_unref (priv->socket_props);
priv->socket_props = NULL;
ensure_socket_props (session);
}
+ g_mutex_unlock (&priv->conn_lock);
}
static void
@@ -794,7 +797,9 @@ soup_session_get_property (GObject *object, guint prop_id,
g_value_set_boxed (value, priv->proxy_uri);
break;
case PROP_PROXY_RESOLVER:
+ g_mutex_lock (&priv->conn_lock);
ensure_socket_props (session);
+ g_mutex_unlock (&priv->conn_lock);
g_value_set_object (value, priv->proxy_resolver);
break;
case PROP_MAX_CONNS:
@@ -815,12 +820,16 @@ soup_session_get_property (GObject *object, guint prop_id,
break;
case PROP_SSL_USE_SYSTEM_CA_FILE:
tlsdb = g_tls_backend_get_default_database (g_tls_backend_get_default ());
+ g_mutex_lock (&priv->conn_lock);
ensure_socket_props (session);
+ g_mutex_unlock (&priv->conn_lock);
g_value_set_boolean (value, priv->tlsdb == tlsdb);
g_clear_object (&tlsdb);
break;
case PROP_TLS_DATABASE:
+ g_mutex_lock (&priv->conn_lock);
ensure_socket_props (session);
+ g_mutex_unlock (&priv->conn_lock);
g_value_set_object (value, priv->tlsdb);
break;
case PROP_TLS_INTERACTION:

View File

@ -2,13 +2,15 @@
Name: libsoup
Version: 2.60.2
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Soup, an HTTP library implementation
License: LGPLv2
URL: https://wiki.gnome.org/Projects/libsoup
Source0: https://download.gnome.org/sources/%{name}/2.60/%{name}-%{version}.tar.xz
Patch01: crash-under-soup_socket_new.patch
BuildRequires: chrpath
BuildRequires: glib2-devel >= %{glib2_version}
BuildRequires: glib-networking
@ -43,6 +45,7 @@ you to develop applications that use the libsoup library.
%prep
%setup -q
%patch01 -p1 -b .crash-under-soup_socket_new
%build
%configure --disable-static
@ -85,6 +88,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_libdir}/*.so
%{_datadir}/vala/vapi/libsoup-2.4.vapi
%changelog
* Thu Nov 16 2017 Milan Crha <mcrha@redhat.com> - 2.60.2-2
- Add patch for RH bug #1458498 (Crash under soup_socket_new())
* Wed Nov 01 2017 Kalev Lember <klember@redhat.com> - 2.60.2-1
- Update to 2.60.2