Ah, shoot - good spot, thanks On 18/09/2020 09:03, Dan Carpenter wrote: > I ran Smatch over the code and it spotted an off by one. > > On Wed, Sep 16, 2020 at 10:36:18PM +0100, Daniel Scally wrote: >> +#define MAX_CONNECTED_DEVICES 4 >> +#define SWNODE_SENSOR_HID 0 >> +#define SWNODE_SENSOR_PORT 1 >> +#define SWNODE_SENSOR_ENDPOINT 2 >> +#define SWNODE_CIO2_PORT 3 >> +#define SWNODE_CIO2_ENDPOINT 4 >> +#define SWNODE_NULL_TERMINATOR 5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >> +struct sensor { >> + struct device *dev; >> + struct software_node swnodes[5]; > ^^^^^^^^^^ > This needs to be 6 instead of 5 to prevent memory corruption. > >> + struct property_entry sensor_props[6]; >> + struct property_entry cio2_props[3]; >> + struct fwnode_handle *fwnode; >> +}; > >> + nodes[SWNODE_NULL_TERMINATOR] = SOFTWARE_NODE_NULL; > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > Here. > > regards, > dan carpenter >