Package: libircclient1 Version: 1.3+dfsg1-3 Severity: normal File: libircclient Tags: upstream patch ipv6
Dear Maintainer, current upstream versions and down to 1.3 (possibly even older) versions of libircclient have an issue with ipv6 handling. When connecting to a ipv6 address it segfaults on receiving the first message from the server. It's caused by writing a sockaddr6_in into a sockaddr_in which overwrites some callback function pointers. The bug is reported upstream but since it's possibly a security issue and libircclients' upstream is very slow you might want to consider applying this small patch. -- System Information: Debian Release: 7.6 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-4-amd64 (SMP w/1 CPU core) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libircclient1 depends on: ii libc6 2.13-38+deb7u4 libircclient1 recommends no packages. libircclient1 suggests no packages. -- no debconf information
Index: libircclient.c =================================================================== --- libircclient.c (revision 125) +++ libircclient.c (working copy) @@ -817,7 +817,7 @@ if (saddr.ss_family == AF_INET) memcpy (&session->local_addr, &((struct sockaddr_in *)&laddr)->sin_addr, sizeof(struct in_addr)); else - memcpy (&session->local_addr, &((struct sockaddr_in6 *)&laddr)->sin6_addr, sizeof(struct in6_addr)); + memcpy (&session->local_addr6, &((struct sockaddr_in6 *)&laddr)->sin6_addr, sizeof(struct in6_addr)); #if defined (ENABLE_DEBUG) if ( IS_DEBUG_ENABLED(session) )