diff --git a/src/c/hash.d b/src/c/hash.d index 5f44eebfb..279ac5bab 100644 --- a/src/c/hash.d +++ b/src/c/hash.d @@ -218,7 +218,7 @@ _hash_equalp(int depth, cl_hashkey h, cl_object x) struct ecl_hashtable_entry *e = hashtable->hash.data + i; \ cl_object hkey = e->key, hvalue = e->value; \ if (hkey == OBJNULL) { \ - if (e->value == OBJNULL) { \ + if (hvalue == OBJNULL) { \ if (j == hsize) \ return e; \ else \ diff --git a/src/c/tcp.d b/src/c/tcp.d index 07a510ae7..b1849a169 100644 --- a/src/c/tcp.d +++ b/src/c/tcp.d @@ -206,7 +206,8 @@ create_server_port(int port) #endif /* Set up the socket data. */ - memset((char *)&inaddr, 0, sizeof(inaddr)); + addrlen = sizeof (struct sockaddr_in); + memset((char *)&inaddr, 0, addrlen); inaddr.sin_family = AF_INET; #if defined(ECL_MS_WINDOWS_HOST) inaddr.sin_port = htons((unsigned short)port); @@ -215,7 +216,7 @@ create_server_port(int port) #endif inaddr.sin_addr.s_addr = htonl(INADDR_ANY); - if (bind(request, (struct sockaddr *)&inaddr, sizeof (inaddr))) + if (bind(request, (struct sockaddr *)&inaddr, addrlen)) FElibc_error("Binding TCP socket", 0); if (listen(request, 1)) FElibc_error("TCP listening", 0);