gssdp dandling pointer
(Note I don't know why code is inserted the way it is...
919 gssdp_client_clear_headers (GSSDPClient *client)
920 {
921 GSSDPClientPrivate *priv = NULL;
922
923 g_return_if_fail (GSSDP_IS_CLIENT (client));
924 priv = gssdp_client_get_instance_private (client);
925
926 g_list_free_full (priv->headers,
927 (GDestroyNotify) header_field_free);
928 }
The priv->headers is left dangling after this function, used again by _gssdp_client_send_message() during shut down. I.e. this two line could segfault
gssdp_client_clear_headers(client); g_object_unref(client);
Fix is to reset priv->headers to NULL;
926 g_list_free_full (priv->headers,
927 (GDestroyNotify) header_field_free);
928
929 priv->headers = NULL;
Edited by Jens Georg