Issue with events serialization containing tables

Description

Hello,

It seems that a bug was introduced between bro 2.3 and bro 2.4.1 since, without the following patch, a NULL pointer dereference occurs in  __bro_ht_free, after receiving an event processed by __bro_io_process_input. This occurs only if the received event contains a table object.

Moreover, it seems that a new issue related to sending and receiving event requests from bro to a remote peer using broccoli have been introduced between the release of bro 2.4.1 and bro 2.5. Indeed, with bro 2.5 and broccoli 1.99, sending an event that contains a table doesn't seem to work while it used to with bro 2.4.1 and broccoli 1.97 (and the attached patch).

You can find as attached 'broccoli-client.bro' as well as 'broccoli-server.c', a standalone broccoli server, used to reproduce these bugs. After starting the broccoli server with an argument defining the listening port number, and a bro worker in bare mode with the script 'broccol-client.bro', you should notice that the serialization of record containing a table works using bro 2.4.1 but doesn't using bro 2.5.

I know that broccoli is now deprecated but since it is still included by default within the bro project, I think that reporting this bug could help the community.

Rémi

Environment

None

Assignee

Unassigned

Reporter

Former user

Labels

None

External issue ID

None

Components

Affects versions

Priority

Normal
Configure