Config validation checks string length, buffers for system
name/description should have one more byte for null termination.
Thanks to lzx0xf1 for the bugreport.
sock *sk; // TCP connection
event *tx_ev; // TX event
event *update_ev; // Update event
- char sys_descr[MIB_II_STR_LEN]; // sysDescr MIB-II [RFC1213] object
- char sys_name[MIB_II_STR_LEN]; // sysName MIB-II [RFC1213] object
+ char sys_descr[MIB_II_STR_LEN+1];// sysDescr MIB-II [RFC1213] object
+ char sys_name[MIB_II_STR_LEN+1]; // sysName MIB-II [RFC1213] object
ip_addr local_addr; // Source local IP address
ip_addr station_ip; // Monitoring station IP address
u16 station_port; // Monitoring station TCP port
| bmp_proto SYSTEM DESCRIPTION text ';' {
if (!$4 || (strlen($4) == 0))
cf_error("String is empty");
- else if (strlen($4) > 255)
+ else if (strlen($4) > MIB_II_STR_LEN)
cf_error("Invalid string length");
BMP_CFG->sys_descr = $4;
}
| bmp_proto SYSTEM NAME text ';' {
if (!$4 || (strlen($4) == 0))
cf_error("String is empty");
- else if (strlen($4) > 255)
+ else if (strlen($4) > MIB_II_STR_LEN)
cf_error("Invalid string length");
BMP_CFG->sys_name = $4;
}