[Openais] totempg assertions patch

Steven Dake sdake at redhat.com
Mon Sep 17 00:42:26 PDT 2007


On Mon, 2007-09-17 at 09:29 +0200, Andrew Beekhof wrote:
> On 9/16/07, Steven Dake <sdake at redhat.com> wrote:
> > This patch verifies some assertions in totempg to ensure memory
> > overwrites don't occur.
> 
> one of the things the crm does* is read the header, check the size of
> the payload and then read the rest of the message.
> 
> this avoids the need to have a constant like MESSAGE_SIZE_MAX which,
> based on experiences with heartbeat can be problematic.
> 
> if i created a patch that read mar_req_header_t and then dynamically
> created enough memory for the payload, would you consider applying it?
> 

The MESSAGE_SIZE_MAX is used in many ways to allocate data structures
before they are needed in a critical path of delivery where a memory
allocation failure would result in complete failure of the totem
protocol.  While there are likely some allocations I intend to remove
them all or preallocate them in the future.

mar_req_header_t is an unknown data structure to totempg and is only
known to the service handler and ipc system components.  I also would
like to keep the code this way so that people could link to just the
totem library if they desired.

> 
> * crm/cib/main.c:368 -> cib_ais_dispatch()



More information about the Openais mailing list