diff --git a/includes/sock.hpp b/includes/sock.hpp index 715260b..0b45a55 100644 --- a/includes/sock.hpp +++ b/includes/sock.hpp @@ -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) */ diff --git a/sock.cpp b/sock.cpp index 24cde91..7c510a5 100644 --- a/sock.cpp +++ b/sock.cpp @@ -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) {