tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: suprious reboot on netbsd-6:i386 with PAE



Hi,

In addition, there are other places where the additional byte
needs to be accounted for, e.g. in makeun() within this file.
Not sure whether there are others.

There is already a +1 in makeun.
         *addrlen = nam->m_len + 1;

Yes, that's what I was trying to hint at. Here the m_len
does include the terminating '\0' byte, so it should be
something like (untested):

static struct sockaddr_un *
makeun(struct mbuf *nam, size_t *addrlen) {
        *addrlen = nam->m_len;
        sun = malloc(*addrlen, M_SONAME, M_WAITOK);
        m_copydata(nam, 0, nam->m_len, (void *)sun);
        sun->sun_len = strlen(sun->sun_path)  +
                offsetof(struct sockaddr_un, sun_path);
        return sun;
}

Ciao,
Wolfgang
--
Wolfgang%Solfrank.net@localhost                         Wolfgang Solfrank

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature



Home | Main Index | Thread Index | Old Index