diff options
author | Liong Sauw Ming <ming@teluu.com> | 2015-05-12 01:56:29 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2015-05-12 01:56:29 +0000 |
commit | 2f12e15cfba1e75109addc42f45af65e93091aca (patch) | |
tree | 1d6df10568aad7f01db53a2d26035141369421f5 /pjlib | |
parent | fc1d265058882d98cc78520a3a093c1b3fa191b8 (diff) |
Re #1843 (misc): Fixed incorrect memcpy size in sock_common (thanks to Richard Mudgett for the patch and Joshua Colp for the report)
If an IPv6 UDP transport is configured with a link-local address, say fe80::21c:c0ff:fe4e:1a9e%eth0, which is an invalid format for an IPv6 address, it may cause crash. The invalid format causes pjproject to use an incorrect size parameter with memcpy().
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5092 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib')
-rw-r--r-- | pjlib/src/pj/sock_common.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pjlib/src/pj/sock_common.c b/pjlib/src/pj/sock_common.c index 00f13e3c..1a4f8a11 100644 --- a/pjlib/src/pj/sock_common.c +++ b/pjlib/src/pj/sock_common.c @@ -180,7 +180,7 @@ PJ_DEF(pj_status_t) pj_sockaddr_set_str_addr(int af, status = pj_getaddrinfo(PJ_AF_INET6, str_addr, &count, &ai); if (status==PJ_SUCCESS) { pj_memcpy(&addr->ipv6.sin6_addr, &ai.ai_addr.ipv6.sin6_addr, - sizeof(pj_sockaddr_in6)); + sizeof(addr->ipv6.sin6_addr)); } } } else { |