Merge branch 'silc.1.1.branch' of silc repo
[runtime.git] / lib / silcutil / silcsocketstream.c
index 7f61e51865a6203b3f70b10ca4f281871d955e55..8d3056edaf0173489a905b42cb90c1f34c868eb8 100644 (file)
@@ -355,6 +355,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);
+    silc_free(socket_stream->qos->buffer);
     silc_free(socket_stream->qos);
     socket_stream->qos = NULL;
     return TRUE;
@@ -375,7 +376,8 @@ SilcBool silc_socket_stream_set_qos(SilcStream 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;