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:
Jan Alexander Steffens (heftig) 2018-09-20 10:48:06 +02:00 committed by Matthew Waters
parent 547f296293
commit fd1d53b04a
2 changed files with 10 additions and 12 deletions

View file

@ -755,20 +755,19 @@ static void
on_server_message (SoupWebsocketConnection * conn, SoupWebsocketDataType type,
GBytes * message, gpointer user_data)
{
gsize size;
gchar *text, *data;
gchar *text;
switch (type) {
case SOUP_WEBSOCKET_DATA_BINARY:
g_printerr ("Received unknown binary message, ignoring\n");
g_bytes_unref (message);
return;
case SOUP_WEBSOCKET_DATA_TEXT:
data = g_bytes_unref_to_data (message, &size);
case SOUP_WEBSOCKET_DATA_TEXT: {
gsize size;
const gchar *data = g_bytes_get_data (message, &size);
/* Convert to NULL-terminated string */
text = g_strndup (data, size);
g_free (data);
break;
}
default:
g_assert_not_reached ();
}

View file

@ -443,20 +443,19 @@ static void
on_server_message (SoupWebsocketConnection * conn, SoupWebsocketDataType type,
GBytes * message, gpointer user_data)
{
gsize size;
gchar *text, *data;
gchar *text;
switch (type) {
case SOUP_WEBSOCKET_DATA_BINARY:
g_printerr ("Received unknown binary message, ignoring\n");
g_bytes_unref (message);
return;
case SOUP_WEBSOCKET_DATA_TEXT:
data = g_bytes_unref_to_data (message, &size);
case SOUP_WEBSOCKET_DATA_TEXT: {
gsize size;
const gchar *data = g_bytes_get_data (message, &size);
/* Convert to NULL-terminated string */
text = g_strndup (data, size);
g_free (data);
break;
}
default:
g_assert_not_reached ();
}