fix: segv from when empty client

This commit is contained in:
Talyx
2022-02-05 17:13:19 +03:00
parent e0c0484b60
commit 93003724d2
2 changed files with 8 additions and 2 deletions

View File

@@ -8,6 +8,7 @@ Client::Client()
done = false;
this->_fd = -1;
this->_sended = 0;
_to_send_char = NULL;
}
Client::Client(char *str)
@@ -17,11 +18,14 @@ Client::Client(char *str)
this->_fd = -1;
this->_buff = str;
this->_sended = 0;
_to_send_char = NULL;
}
Client::Client(char *str, ServerConfig *config)
{
_to_send_char = NULL;
allRead = false;
done = false;
this->_fd = -1;
@@ -234,7 +238,8 @@ void Client::clear(void)
_bodyToSend = "";
_headerToSend = "";
_toSend = "";
free(_to_send_char);
if (_to_send_char)
free(_to_send_char);
}
Client::~Client()

View File

@@ -87,7 +87,7 @@ void Server::readSocket(Client &client, int fd)
int status;
int bytes_read;
char buf[BUFFSIZE + 1] = {0};
char buf[BUFFSIZE + 1];
DBOUT << TURQ << "IN readSocket" << RESET << std::endl;
DBOUT << "client in readSocket "<< &client << ENDL;
@@ -97,6 +97,7 @@ void Server::readSocket(Client &client, int fd)
client.allRead = true;
return;
}
buf[bytes_read + 1] = '\0';
client.setRawData(buf);
client.increaseRecvCounter(bytes_read);
status = client.parseRequest();