diff -rupN pjproject-2.5.5/pjlib/src/pj/ioqueue_common_abs.c pjproject-2.5.5-new/pjlib/src/pj/ioqueue_common_abs.c --- pjproject-2.5.5/pjlib/src/pj/ioqueue_common_abs.c 2015-11-06 05:18:46.000000000 +0100 +++ pjproject-2.5.5-new/pjlib/src/pj/ioqueue_common_abs.c 2017-01-05 14:15:09.259518106 +0100 @@ -1047,7 +1047,8 @@ retry_on_restart: /* * Check that address storage can hold the address parameter. */ - PJ_ASSERT_RETURN(addrlen <= (int)sizeof(pj_sockaddr_in), PJ_EBUG); + PJ_ASSERT_RETURN((((pj_sockaddr*)addr)->addr.sa_family == pj_AF_INET() && addrlen <= (int)sizeof(pj_sockaddr_in)) || + (((pj_sockaddr*)addr)->addr.sa_family == pj_AF_INET6() && addrlen <= (int)sizeof(pj_sockaddr_in6)), PJ_EBUG); /* * Schedule asynchronous send. diff -rupN pjproject-2.5.5/pjlib/src/pj/ioqueue_common_abs.h pjproject-2.5.5-new/pjlib/src/pj/ioqueue_common_abs.h --- pjproject-2.5.5/pjlib/src/pj/ioqueue_common_abs.h 2013-02-21 12:18:36.000000000 +0100 +++ pjproject-2.5.5-new/pjlib/src/pj/ioqueue_common_abs.h 2017-01-05 14:15:09.259518106 +0100 @@ -63,7 +63,7 @@ struct write_operation pj_size_t size; pj_ssize_t written; unsigned flags; - pj_sockaddr_in rmt_addr; + pj_sockaddr rmt_addr; int rmt_addrlen; };