dnp3: fix coverity CID 1374300

pull/2432/head
Victor Julien 9 years ago
parent 8915f2de38
commit 287fd83796

@ -145,37 +145,31 @@ static void AlertJsonSsh(const Flow *f, json_t *js)
static void AlertJsonDnp3(const Flow *f, json_t *js)
{
DNP3State *dnp3_state = (DNP3State *)FlowGetAppState(f);
json_t *dnp3js = NULL;
if (dnp3_state) {
uint64_t tx_id = AppLayerParserGetTransactionLogId(f->alparser);
DNP3Transaction *tx = AppLayerParserGetTx(IPPROTO_TCP, ALPROTO_DNP3,
dnp3_state, tx_id);
if (tx) {
json_t *dnp3js = json_object();
if (unlikely(dnp3js == NULL)) {
goto error;
}
if (tx->has_request && tx->request_done) {
json_t *request = JsonDNP3LogRequest(tx);
if (request != NULL) {
json_object_set_new(dnp3js, "request", request);
if (likely(dnp3js != NULL)) {
if (tx->has_request && tx->request_done) {
json_t *request = JsonDNP3LogRequest(tx);
if (request != NULL) {
json_object_set_new(dnp3js, "request", request);
}
}
}
if (tx->has_response && tx->response_done) {
json_t *response = JsonDNP3LogResponse(tx);
if (response != NULL) {
json_object_set_new(dnp3js, "response", response);
if (tx->has_response && tx->response_done) {
json_t *response = JsonDNP3LogResponse(tx);
if (response != NULL) {
json_object_set_new(dnp3js, "response", response);
}
}
json_object_set_new(js, "dnp3", dnp3js);
}
json_object_set_new(js, "dnp3", dnp3js);
}
}
return;
error:
if (dnp3js != NULL) {
json_decref(dnp3js);
}
}
void AlertJsonHeader(const Packet *p, const PacketAlert *pa, json_t *js)

Loading…
Cancel
Save