in line 60: m_cpytoc(m, off, len, cp)
while (len && m) {
ml = m->m_len; /** should be this one changed to
ml=MIN(len, m->m_len);
to avoid following one line's
perhaps memory violence???
**/
memcpy(cp, mtod(m, caddr_t), (u_int)ml);
cp += ml;
len -= ml;
m = m->m_next;
}
return (len);