--- libaitrpc/src/srv.c 2015/07/22 12:49:10 1.27.2.5 +++ libaitrpc/src/srv.c 2015/07/22 15:07:10 1.27.2.6 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.27.2.5 2015/07/22 12:49:10 misho Exp $ +* $Id: srv.c,v 1.27.2.6 2015/07/22 15:07:10 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -524,7 +524,7 @@ rxUDPPacket(sched_task_t *task) /* receive connect packet */ AIT_SET_BUF(&b, NULL, srv->srv_netbuf); - salen = sa.ss.ss_len = (u_char) sizeof(sockaddr_t); + salen = sa.ss.ss_len = (u_char) MIN(sizeof(sockaddr_t), 0xff); rlen = recvfrom(TASK_FD(task), AIT_GET_BUF(&b), AIT_LEN(&b), 0, &sa.sa, &salen); rpc = (struct tagRPCCall*) AIT_GET_BUF(&b); if (rlen < sizeof(struct tagRPCCall)) @@ -664,7 +664,7 @@ rxRAWPacket(sched_task_t *task) /* receive connect packet */ AIT_SET_BUF(&b, NULL, srv->srv_netbuf); - salen = sa.ss.ss_len = (u_char) sizeof(sockaddr_t); + salen = sa.ss.ss_len = (u_char) MIN(sizeof(sockaddr_t), 0xff); rlen = recvfrom(TASK_FD(task), AIT_GET_BUF(&b), AIT_LEN(&b), 0, &sa.sa, &salen); if (sa.sa.sa_family == AF_INET) { struct ip *h;