on_server_message: Do not unref message GBytes
We don't own the reference. Since GLib 2.58, the g_bytes_unref that follows the signal emission in libsoup loudly complains about the attempt to underflow the refcount.
This commit is contained in:
parent
547f296293
commit
fd1d53b04a
@ -755,20 +755,19 @@ static void
|
|||||||
on_server_message (SoupWebsocketConnection * conn, SoupWebsocketDataType type,
|
on_server_message (SoupWebsocketConnection * conn, SoupWebsocketDataType type,
|
||||||
GBytes * message, gpointer user_data)
|
GBytes * message, gpointer user_data)
|
||||||
{
|
{
|
||||||
gsize size;
|
gchar *text;
|
||||||
gchar *text, *data;
|
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case SOUP_WEBSOCKET_DATA_BINARY:
|
case SOUP_WEBSOCKET_DATA_BINARY:
|
||||||
g_printerr ("Received unknown binary message, ignoring\n");
|
g_printerr ("Received unknown binary message, ignoring\n");
|
||||||
g_bytes_unref (message);
|
|
||||||
return;
|
return;
|
||||||
case SOUP_WEBSOCKET_DATA_TEXT:
|
case SOUP_WEBSOCKET_DATA_TEXT: {
|
||||||
data = g_bytes_unref_to_data (message, &size);
|
gsize size;
|
||||||
|
const gchar *data = g_bytes_get_data (message, &size);
|
||||||
/* Convert to NULL-terminated string */
|
/* Convert to NULL-terminated string */
|
||||||
text = g_strndup (data, size);
|
text = g_strndup (data, size);
|
||||||
g_free (data);
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
}
|
}
|
||||||
|
@ -443,20 +443,19 @@ static void
|
|||||||
on_server_message (SoupWebsocketConnection * conn, SoupWebsocketDataType type,
|
on_server_message (SoupWebsocketConnection * conn, SoupWebsocketDataType type,
|
||||||
GBytes * message, gpointer user_data)
|
GBytes * message, gpointer user_data)
|
||||||
{
|
{
|
||||||
gsize size;
|
gchar *text;
|
||||||
gchar *text, *data;
|
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case SOUP_WEBSOCKET_DATA_BINARY:
|
case SOUP_WEBSOCKET_DATA_BINARY:
|
||||||
g_printerr ("Received unknown binary message, ignoring\n");
|
g_printerr ("Received unknown binary message, ignoring\n");
|
||||||
g_bytes_unref (message);
|
|
||||||
return;
|
return;
|
||||||
case SOUP_WEBSOCKET_DATA_TEXT:
|
case SOUP_WEBSOCKET_DATA_TEXT: {
|
||||||
data = g_bytes_unref_to_data (message, &size);
|
gsize size;
|
||||||
|
const gchar *data = g_bytes_get_data (message, &size);
|
||||||
/* Convert to NULL-terminated string */
|
/* Convert to NULL-terminated string */
|
||||||
text = g_strndup (data, size);
|
text = g_strndup (data, size);
|
||||||
g_free (data);
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user