summaryrefslogtreecommitdiff
path: root/socket/tcp-bsd.c
diff options
context:
space:
mode:
authorYouness Alaoui <youness.alaoui@collabora.co.uk>2014-04-09 21:15:06 -0400
committerOlivier CrĂȘte <olivier.crete@ocrete.ca>2014-05-15 09:44:00 -0400
commitd176333b2351aacac86a7aefd3be9c3dd4faaa49 (patch)
tree4a62bc7b2dd923fb4236c2b63e21a9be82a7b9ed /socket/tcp-bsd.c
parent2929c8fa4c70ae371c6fc9f6d67530fe92bdf304 (diff)
downloadlibnice-d176333b2351aacac86a7aefd3be9c3dd4faaa49.tar.gz
Do not allow message_offset to become negative when queuing messages
Diffstat (limited to 'socket/tcp-bsd.c')
-rw-r--r--socket/tcp-bsd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/socket/tcp-bsd.c b/socket/tcp-bsd.c
index da6fc08..b344ed0 100644
--- a/socket/tcp-bsd.c
+++ b/socket/tcp-bsd.c
@@ -491,7 +491,10 @@ add_to_be_sent (NiceSocket *sock, const NiceOutputMessage *message,
len = MIN (tbs->length - offset, buffer->size - message_offset);
memcpy (tbs->buf + offset, (guint8 *) buffer->buffer + message_offset, len);
offset += len;
- message_offset -= len;
+ if (message_offset >= len)
+ message_offset -= len;
+ else
+ message_offset = 0;
}
}