Re: patch for writev bug in IIOP
- From: Elliot Lee <sopwith redhat com>
- To: Mark McLoughlin <mark skynet ie>
- Cc: <orbit-list gnome org>, <lcs MIT EDU>
- Subject: Re: patch for writev bug in IIOP
- Date: Wed, 26 Dec 2001 13:25:54 -0500 (EST)
On Thu, 26 Jul 2001, Mark McLoughlin wrote:
> 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?
I can't see the patch, but I think I remember saying something about the
patch being broken in its approach, needing to just use/fix the g_writev
in libORBitutil, and also improving the IOV_MAX detection in configure.in.
-- Elliot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]