dnp3: fix coverity CID 1374300

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

@ -145,16 +145,13 @@ 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) { if (tx->has_request && tx->request_done) {
json_t *request = JsonDNP3LogRequest(tx); json_t *request = JsonDNP3LogRequest(tx);
if (request != NULL) { if (request != NULL) {
@ -170,12 +167,9 @@ static void AlertJsonDnp3(const Flow *f, json_t *js)
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