>
> I have just committed the changes, so I think this leaves only the
> open issue of data structure consistency in the face of unplumbing
> (and likely cardbus/etc. interface removal on other systems too).
> I'm glad my rtm message length check exposed this problem so we could
> fix it cleanly!
>
yup. though, if we are on a cleaning spree, a more appropriate structure
would be
struct
{
union
{
struct rt_msghdr rtm;
struct if_msghdr ifm;
struct ifa_msghdr ifa;
#ifdef RTM_IFANNOUNCE
struct if_announcemsghdr ifan;
#endif /* RTM_IFANNOUNCE */
} bufhdr;
struct sockaddr_storage addr[RTAX_MAX];
} buf;
but that's another project.
--Sowmini
> I have just committed the changes, so I think this leaves only the
> open issue of data structure consistency in the face of unplumbing
> (and likely cardbus/etc. interface removal on other systems too).
> I'm glad my rtm message length check exposed this problem so we could
> fix it cleanly!
>
yup. though, if we are on a cleaning spree, a more appropriate structure
would be
struct
{
union
{
struct rt_msghdr rtm;
struct if_msghdr ifm;
struct ifa_msghdr ifa;
#ifdef RTM_IFANNOUNCE
struct if_announcemsghdr ifan;
#endif /* RTM_IFANNOUNCE */
} bufhdr;
struct sockaddr_storage addr[RTAX_MAX];
} buf;
but that's another project.
--Sowmini