On Mon, Nov 06, 2006 at 10:31:02AM +0000, Steven Whitehouse wrote: > + opt->opt_optl = dn_htons((__u16)*ptr++);
Lose that cast; it's only confusing the things... > + memcpy(opt->opt_data, ptr, dn_ntohs(opt->opt_optl)); > + skb_pull(skb, dn_ntohs(opt->opt_optl) + 1); ... and I'd actually do u16 len = *ptr++; /* yes, it's 8bit on the wire */ opt->opt_optl = dn_htons(len); BUG_ON(len > 16); /* we've checked the contents earlier */ memcpy(opt->opt_data, ptr, len); skb_pull(skb, len + 1); - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html