projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed QoS data limit handling in socket stream when reading data.
[silc.git]
/
lib
/
silcutil
/
silcsocketstream.c
diff --git
a/lib/silcutil/silcsocketstream.c
b/lib/silcutil/silcsocketstream.c
index d3673269670f59a137ee97e176494e1994d26612..af8f2c34cba0b60f6584b07dd57b10931fe115ab 100644
(file)
--- a/
lib/silcutil/silcsocketstream.c
+++ b/
lib/silcutil/silcsocketstream.c
@@
-4,7
+4,7
@@
Author: Pekka Riikonen <priikone@silcnet.org>
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2005 - 200
7
Pekka Riikonen
+ Copyright (C) 2005 - 200
8
Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-72,7
+72,7
@@
SILC_TASK_CALLBACK(silc_socket_host_lookup_finish)
}
if (lookup->status != SILC_SOCKET_OK) {
}
if (lookup->status != SILC_SOCKET_OK) {
- SILC_LOG_DEBUG(("Socket stream failed"));
+ SILC_LOG_DEBUG(("Socket stream
lookup
failed"));
stream->schedule = NULL;
silc_socket_stream_destroy(stream);
stream = lookup->stream = NULL;
stream->schedule = NULL;
silc_socket_stream_destroy(stream);
stream = lookup->stream = NULL;
@@
-171,6
+171,7
@@
silc_socket_tcp_stream_create(SilcSocket sock, SilcBool lookup,
stream->ops = &silc_socket_stream_ops;
stream->sock = sock;
stream->schedule = schedule;
stream->ops = &silc_socket_stream_ops;
stream->sock = sock;
stream->schedule = schedule;
+ stream->connected = TRUE;
l = silc_calloc(1, sizeof(*l));
if (!l) {
l = silc_calloc(1, sizeof(*l));
if (!l) {
@@
-349,6
+350,7
@@
SilcBool silc_socket_stream_set_qos(SilcStream stream,
!limit_sec && !limit_usec) {
silc_schedule_task_del_by_context(socket_stream->schedule,
socket_stream->qos);
!limit_sec && !limit_usec) {
silc_schedule_task_del_by_context(socket_stream->schedule,
socket_stream->qos);
+ silc_free(socket_stream->qos->buffer);
silc_free(socket_stream->qos);
socket_stream->qos = NULL;
return TRUE;
silc_free(socket_stream->qos);
socket_stream->qos = NULL;
return TRUE;
@@
-369,7
+371,8
@@
SilcBool silc_socket_stream_set_qos(SilcStream stream,
socket_stream->qos->cur_rate = 0;
socket_stream->qos->sock = socket_stream;
socket_stream->qos->cur_rate = 0;
socket_stream->qos->sock = socket_stream;
- socket_stream->qos->buffer = silc_malloc(read_limit_bytes);
+ socket_stream->qos->buffer = silc_realloc(socket_stream->qos->buffer,
+ read_limit_bytes);
if (!socket_stream->qos->buffer)
return FALSE;
if (!socket_stream->qos->buffer)
return FALSE;