Re: patch for writev bug in IIOP



On Fri, 15 Jun 2001, Larry Stone wrote:

> The patch below fixes a bug in ORBit 0.5.8 that especially affects
> Solaris.  giop_send_buffer_write was calling writev(2) without checking
> the length of the iovec array.  Writev(2) cannot be expected to take
> more than IOV_MAX iovecs at a time, but on Linux this is less of an
> issue since IOV_MAX == 1024.  On Solaris 8, IOV_MAX == 16, so it is more
> noticeable.  Even more unfortunately, Solaris doesn't seem to return the
> expected error when the length is violated, it just drops some bytes on
> the floor out of spite.  This results in a corrupted message that
> usually makes the recipient crash in the demarshaller (e.g.  after
> reading random garbage as the length of an array or string and wandering
> off into deep space).
>
> The change respects IOV_MAX, and cleans up the logic a bit.
> I was seeing common crashes of Nautilus (1.0.3) view components such as
> nautilus_history_view and nautilus_notes_view, in the
> Nautilus_View_history_changed server stub (often the recipient of huge
> RPC messages), and it's fixed those.
>
> Can someone on this list accept this change into the ORBit source?

	Elliot, this patch looks good to me. Indeed, it has been well
tested. Can I apply?

Cheers,
Mark.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]