0
@@ -350,11 +350,11 @@ static void client_init(ebb_client *client)
0
client->keep_alive = FALSE;
0
client->status_written = client->headers_written = client->body_written = FALSE;
0
- /* here we do not free the already allocated GString client->response_buffer
0
- * that we're holding the response in. we reuse it again - presumably
0
- * because the backend is going to keep sending such long requests.
0
- client->response_buffer->len = 0;
0
+ if(client->response_buffer != NULL)
0
+ g_string_free(client->response_buffer, TRUE);
0
+ client->response_buffer = g_string_new("");
0
client->upload_filename = NULL;
0
/* SETUP READ AND TIMEOUT WATCHERS */
0
@@ -432,7 +432,7 @@ void ebb_server_init( ebb_server *server
0
for(i=0; i < EBB_MAX_CLIENTS; i++) {
0
server->clients[i].request_buffer = NULL;
0
- server->clients[i].response_buffer = g_string_new("");
0
+ server->clients[i].response_buffer = NULL;
0
server->clients[i].open = FALSE;
0
server->clients[i].in_use = FALSE;
0
server->clients[i].server = server;
0
@@ -454,9 +454,6 @@ void ebb_server_free(ebb_server *server)
0
ebb_server_unlisten(server);
0
- for(i=0; i < EBB_MAX_CLIENTS; i++)
0
- g_string_free(server->clients[i].response_buffer, TRUE);
0
@@ -582,6 +579,9 @@ void ebb_client_close(ebb_client *client)
0
+ g_string_free(client->response_buffer, TRUE);
0
+ client->response_buffer = NULL;
Comments
No one has commented yet.