>> + m_copydata(m, 0, sizeof(eh), (caddr_t)&eh); >> + m_adj(m, sizeof eh); >any point to copy and m_adj here while you're using m_pulldown? you can't reliably use pointers that points outside of [m_data, m_data + m_len]. therefore i've copied it. itojun