From 22190d1793eb60ca57343422c5554534d31074d1 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Wed, 13 Aug 2008 08:41:42 +0000 Subject: pj_sockaddr_copy_addr() might raise assertion if destination address is not initialized git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2207 74dad513-b988-da41-8d7b-12977e46ad98 --- pjlib/src/pj/sock_common.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'pjlib/src/pj') diff --git a/pjlib/src/pj/sock_common.c b/pjlib/src/pj/sock_common.c index 901c9c84..c92ca518 100644 --- a/pjlib/src/pj/sock_common.c +++ b/pjlib/src/pj/sock_common.c @@ -384,9 +384,10 @@ PJ_DEF(unsigned) pj_sockaddr_get_len(const pj_sockaddr_t *addr) PJ_DEF(void) pj_sockaddr_copy_addr( pj_sockaddr *dst, const pj_sockaddr *src) { - pj_memcpy(pj_sockaddr_get_addr(dst), - pj_sockaddr_get_addr(src), - pj_sockaddr_get_addr_len(src)); + /* Destination sockaddr might not be initialized */ + const char *srcbuf = (char*)pj_sockaddr_get_addr(src); + char *dstbuf = ((char*)dst) + (srcbuf - (char*)src); + pj_memcpy(dstbuf, srcbuf, pj_sockaddr_get_addr_len(src)); } /* -- cgit v1.2.3