dnp3: fix coverity CID 1374300

pull/2432/head
Victor Julien 10 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) static void AlertJsonDnp3(const Flow *f, json_t *js)
{ {
DNP3State *dnp3_state = (DNP3State *)FlowGetAppState(f); DNP3State *dnp3_state = (DNP3State *)FlowGetAppState(f);
json_t *dnp3js = NULL;
if (dnp3_state) { if (dnp3_state) {
uint64_t tx_id = AppLayerParserGetTransactionLogId(f->alparser); uint64_t tx_id = AppLayerParserGetTransactionLogId(f->alparser);
DNP3Transaction *tx = AppLayerParserGetTx(IPPROTO_TCP, ALPROTO_DNP3, DNP3Transaction *tx = AppLayerParserGetTx(IPPROTO_TCP, ALPROTO_DNP3,
dnp3_state, tx_id); dnp3_state, tx_id);
if (tx) { if (tx) {
json_t *dnp3js = json_object(); json_t *dnp3js = json_object();
if (unlikely(dnp3js == NULL)) { if (likely(dnp3js != NULL)) {
goto error; if (tx->has_request && tx->request_done) {
} json_t *request = JsonDNP3LogRequest(tx);
if (tx->has_request && tx->request_done) { if (request != NULL) {
json_t *request = JsonDNP3LogRequest(tx); json_object_set_new(dnp3js, "request", request);
if (request != NULL) { }
json_object_set_new(dnp3js, "request", request);
} }
} if (tx->has_response && tx->response_done) {
if (tx->has_response && tx->response_done) { json_t *response = JsonDNP3LogResponse(tx);
json_t *response = JsonDNP3LogResponse(tx); if (response != NULL) {
if (response != NULL) { json_object_set_new(dnp3js, "response", response);
json_object_set_new(dnp3js, "response", response); }
} }
json_object_set_new(js, "dnp3", dnp3js);
} }
json_object_set_new(js, "dnp3", dnp3js);
} }
} }
return; return;
error:
if (dnp3js != NULL) {
json_decref(dnp3js);
}
} }
void AlertJsonHeader(const Packet *p, const PacketAlert *pa, json_t *js) void AlertJsonHeader(const Packet *p, const PacketAlert *pa, json_t *js)

Loading…
Cancel
Save