Listing 3

typedef struct {
  int len;
  char data[0];
} payload_t;

payload_t *getPayload( int len )
{
  payload_t *payload = (payload_t *)0;

  payload = (payload_t *)malloc( sizeof(payload_t) + len );
  if (payload) payload->len = len;

  return payload;
}