Commit b58e852d authored by Olivier Crête's avatar Olivier Crête

socket: Assert trying to use free'd socket

Cleanly returnign makes no sense and may hide
worse problems.
parent baab2c3c
...@@ -283,9 +283,8 @@ socket_recv_messages (NiceSocket *sock, ...@@ -283,9 +283,8 @@ socket_recv_messages (NiceSocket *sock,
HttpPriv *priv = sock->priv; HttpPriv *priv = sock->priv;
gint ret = -1; gint ret = -1;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return 0;
if (priv->state == HTTP_STATE_CONNECTED) { if (priv->state == HTTP_STATE_CONNECTED) {
guint i; guint i;
...@@ -578,9 +577,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to, ...@@ -578,9 +577,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to,
{ {
HttpPriv *priv = sock->priv; HttpPriv *priv = sock->priv;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return -1;
if (priv->state == HTTP_STATE_CONNECTED) { if (priv->state == HTTP_STATE_CONNECTED) {
/* Fast path. */ /* Fast path. */
......
...@@ -206,9 +206,8 @@ socket_recv_messages (NiceSocket *sock, ...@@ -206,9 +206,8 @@ socket_recv_messages (NiceSocket *sock,
{ {
PseudoSSLPriv *priv = sock->priv; PseudoSSLPriv *priv = sock->priv;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return 0;
if (priv->handshaken) { if (priv->handshaken) {
if (priv->base_socket) { if (priv->base_socket) {
...@@ -258,9 +257,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to, ...@@ -258,9 +257,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to,
{ {
PseudoSSLPriv *priv = sock->priv; PseudoSSLPriv *priv = sock->priv;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return -1;
if (priv->handshaken) { if (priv->handshaken) {
/* Fast path: pass directly through to the base socket once the handshake is /* Fast path: pass directly through to the base socket once the handshake is
......
...@@ -169,9 +169,8 @@ socket_recv_messages (NiceSocket *sock, ...@@ -169,9 +169,8 @@ socket_recv_messages (NiceSocket *sock,
guint i; guint i;
gint ret = -1; gint ret = -1;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return 0;
switch (priv->state) { switch (priv->state) {
case SOCKS_STATE_CONNECTED: case SOCKS_STATE_CONNECTED:
...@@ -425,9 +424,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to, ...@@ -425,9 +424,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to,
{ {
Socks5Priv *priv = sock->priv; Socks5Priv *priv = sock->priv;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return -1;
if (priv->state == SOCKS_STATE_CONNECTED) { if (priv->state == SOCKS_STATE_CONNECTED) {
/* Fast path: pass through to the base socket once connected. */ /* Fast path: pass through to the base socket once connected. */
......
...@@ -237,9 +237,8 @@ socket_recv_messages (NiceSocket *sock, ...@@ -237,9 +237,8 @@ socket_recv_messages (NiceSocket *sock,
TcpPriv *priv = sock->priv; TcpPriv *priv = sock->priv;
guint i; guint i;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return 0;
/* Don't try to access the socket if it had an error */ /* Don't try to access the socket if it had an error */
if (priv->error) if (priv->error)
...@@ -291,9 +290,8 @@ socket_send_message (NiceSocket *sock, ...@@ -291,9 +290,8 @@ socket_send_message (NiceSocket *sock,
GError *gerr = NULL; GError *gerr = NULL;
gsize message_len; gsize message_len;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return -1;
/* Don't try to access the socket if it had an error, otherwise we risk a /* Don't try to access the socket if it had an error, otherwise we risk a
* crash with SIGPIPE (Broken pipe) */ * crash with SIGPIPE (Broken pipe) */
...@@ -352,9 +350,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to, ...@@ -352,9 +350,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to,
{ {
guint i; guint i;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return -1;
for (i = 0; i < n_messages; i++) { for (i = 0; i < n_messages; i++) {
const NiceOutputMessage *message = &messages[i]; const NiceOutputMessage *message = &messages[i];
......
...@@ -183,9 +183,8 @@ socket_recv_messages (NiceSocket *sock, ...@@ -183,9 +183,8 @@ socket_recv_messages (NiceSocket *sock,
guint i; guint i;
gboolean error = FALSE; gboolean error = FALSE;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return 0;
/* Read messages into recv_messages until one fails or would block, or we /* Read messages into recv_messages until one fails or would block, or we
* reach the end. */ * reach the end. */
...@@ -248,9 +247,8 @@ socket_send_message (NiceSocket *sock, const NiceAddress *to, ...@@ -248,9 +247,8 @@ socket_send_message (NiceSocket *sock, const NiceAddress *to,
GError *child_error = NULL; GError *child_error = NULL;
gssize len; gssize len;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (priv == NULL) g_assert (sock->priv != NULL);
return -1;
if (!nice_address_is_valid (&priv->niceaddr) || if (!nice_address_is_valid (&priv->niceaddr) ||
!nice_address_equal (&priv->niceaddr, to)) { !nice_address_equal (&priv->niceaddr, to)) {
...@@ -292,9 +290,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to, ...@@ -292,9 +290,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to,
{ {
guint i; guint i;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return -1;
for (i = 0; i < n_messages; i++) { for (i = 0; i < n_messages; i++) {
const NiceOutputMessage *message = &messages[i]; const NiceOutputMessage *message = &messages[i];
......
...@@ -136,9 +136,8 @@ socket_recv_message (NiceSocket *sock, NiceInputMessage *recv_message) ...@@ -136,9 +136,8 @@ socket_recv_message (NiceSocket *sock, NiceInputMessage *recv_message)
GInputVector local_recv_buf; GInputVector local_recv_buf;
NiceInputMessage local_recv_message; NiceInputMessage local_recv_message;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return 0;
if (priv->expecting_len == 0) { if (priv->expecting_len == 0) {
guint headerlen = 0; guint headerlen = 0;
...@@ -243,9 +242,8 @@ socket_recv_messages (NiceSocket *nicesock, ...@@ -243,9 +242,8 @@ socket_recv_messages (NiceSocket *nicesock,
guint i; guint i;
gboolean error = FALSE; gboolean error = FALSE;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (nicesock->priv == NULL) g_assert (nicesock->priv != NULL);
return 0;
for (i = 0; i < n_recv_messages; i++) { for (i = 0; i < n_recv_messages; i++) {
gssize len; gssize len;
...@@ -287,9 +285,8 @@ socket_send_message (NiceSocket *sock, const NiceAddress *to, ...@@ -287,9 +285,8 @@ socket_send_message (NiceSocket *sock, const NiceAddress *to,
} header_buf; } header_buf;
guint offset = 0; guint offset = 0;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return -1;
/* Count the number of buffers. */ /* Count the number of buffers. */
if (message->n_buffers == -1) { if (message->n_buffers == -1) {
...@@ -388,9 +385,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to, ...@@ -388,9 +385,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to,
{ {
guint i; guint i;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return -1;
for (i = 0; i < n_messages; i++) { for (i = 0; i < n_messages; i++) {
const NiceOutputMessage *message = &messages[i]; const NiceOutputMessage *message = &messages[i];
......
...@@ -341,9 +341,8 @@ socket_recv_messages (NiceSocket *sock, ...@@ -341,9 +341,8 @@ socket_recv_messages (NiceSocket *sock,
gboolean error = FALSE; gboolean error = FALSE;
guint n_valid_messages; guint n_valid_messages;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return 0;
nice_debug_verbose ("received message on TURN socket"); nice_debug_verbose ("received message on TURN socket");
...@@ -700,9 +699,8 @@ socket_send_message (NiceSocket *sock, const NiceAddress *to, ...@@ -700,9 +699,8 @@ socket_send_message (NiceSocket *sock, const NiceAddress *to,
ChannelBinding *binding = NULL; ChannelBinding *binding = NULL;
gint ret; gint ret;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return -1;
for (i = priv->channels; i; i = i->next) { for (i = priv->channels; i; i = i->next) {
ChannelBinding *b = i->data; ChannelBinding *b = i->data;
...@@ -876,9 +874,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to, ...@@ -876,9 +874,8 @@ socket_send_messages (NiceSocket *sock, const NiceAddress *to,
{ {
guint i; guint i;
/* Socket has been closed: */ /* Make sure socket has not been freed: */
if (sock->priv == NULL) g_assert (sock->priv != NULL);
return -1;
for (i = 0; i < n_messages; i++) { for (i = 0; i < n_messages; i++) {
const NiceOutputMessage *message = &messages[i]; const NiceOutputMessage *message = &messages[i];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment