Used a sockaddr_storage struct instead of a sockaddr struct, since the latter is not big enough for IPv6

master
Aadhavan Srinivasan 10 months ago
parent 7d4fd929c7
commit 24b2a83044

@ -23,7 +23,7 @@ protected:
int port;
int sock_fd;
std::string address;
struct sockaddr* dest;
struct sockaddr_storage* dest;
socklen_t addrlen;
int other_socket; // The peer socket (the client if this socket is a server, and the server if this socket is a client) */

@ -8,7 +8,7 @@
extend this function, and create the appropriate sockets. */
void Sock::create_socket() {
dest = (struct sockaddr *)malloc(sizeof(struct sockaddr));
dest = (struct sockaddr_storage *)malloc(sizeof(struct sockaddr_storage));
addrlen = sizeof(*dest);
}
@ -81,7 +81,7 @@ This function also needs more testing for TCP. */
char* Sock::recvAll() {
int num_bytes_received = 0;
int total_bytes_received = 0;
char* buffer = (char *)malloc(150);
char* buffer = (char *)malloc(150 * sizeof(char));
bool has_been_read = false;
if (this->protocol == ES_UDP) {

Loading…
Cancel
Save