modbus: fix memory leak in signature parsing

Bug: #4538.
pull/6223/head
Philippe Antoine 5 years ago committed by Victor Julien
parent 7fcc9a5066
commit fdb5f696c4

@ -412,9 +412,13 @@ static DetectModbus *DetectModbusUnitIdParse(const char *str)
if ((modbus = DetectModbusFunctionParse(str_ptr)) == NULL) {
if ((modbus = DetectModbusAccessParse(str_ptr)) == NULL) {
SCLogError(SC_ERR_PCRE_MATCH, "invalid modbus option");
if (str_ptr != NULL)
pcre_free_substring(str_ptr);
goto error;
}
}
if (str_ptr != NULL)
pcre_free_substring(str_ptr);
} else {
/* We have only unit id Modbus option */
modbus = (DetectModbus *) SCCalloc(1, sizeof(DetectModbus));

Loading…
Cancel
Save