[Bug 197035] sysutils/bbcp: segmentation fault and core dump when running latest version (20150113)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Jul 21 16:17:07 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197035

--- Comment #8 from Chris Hutchinson <portmaster at bsdforge.com> ---
(In reply to lampa from comment #6)
> Problem is probably with ipv6 bcpp code, try -4 argument
> 
...
> 
> It fails with n==3 (EAI_BADFLAGS) and then MyHost is NULL which results 
> in segmentation fault in strdup().
> 
 n==3, as I read it, indicates it's in bracketed format. In much the same
way Apache expects it in httpd.conf eg;
NameVirtualHost [nnnn:an:anan:annn:nnn:nnaa:aaan:aana]:80

the eval and designator is in bbcp_NetAddrInfo.C @134

// Format address
//
        if (IP.Addr.sa_family == AF_INET6)
           {if (bLen < (INET6_ADDRSTRLEN+2)) return QFill(bAddr, bLen);
            if (fmtOpts & old6Map4 && IN6_IS_ADDR_V4MAPPED(&IP.v6.sin6_addr))
               {if (ipRaw) {strcpy(bAddr,  "::"); n = 2;}
                   else    {strcpy(bAddr, "[::"); n = 3; addBrak=1;}
___________________________^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                if (!inet_ntop(AF_INET, &IP.v6.sin6_addr.s6_addr32[3],
                               bAddr+n, bLen-n)) return QFill(bAddr, bLen);
               } else {
                if (!ipRaw) {*bAddr = '['; n = 1; addBrak = 1;}
                   else n = 0;
                if (!inet_ntop(AF_INET6,&(IP.v6.sin6_addr),bAddr+n,bLen-n))
                    return QFill(bAddr, bLen);
               }
           }
At least as *I* read it.
For the record. There were zero *BSD defines when I stepped into this,
and to some extent I simply OR'd FreeBSD against MacOS, where it applied.
I may have to dig deep into FreeBSD specific NET foo -- specifically
INET6. So as to add additional/specific DEFINES. Or simply disable IPv6
entirely, if FreeBSD is detected. It's still early in my investigation.
But just thought I might mention it FWIW.
...
> 
> But fixing this was not sufficient, remote bcpp started listening on TCP6
> socket, but local bcpp couldn't connect.

--Chris

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list