]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
mqtt: do not log reason_codes if there is none
authorPhilippe Antoine <pantoine@oisf.net>
Fri, 1 Jul 2022 13:56:29 +0000 (15:56 +0200)
committerVictor Julien <vjulien@oisf.net>
Wed, 27 Jul 2022 20:25:24 +0000 (22:25 +0200)
Ticket: #5167

rust/src/mqtt/logger.rs

index d7b343931ed44ebf21e9f18042c0d0e3c0968694..22fc7de0792754ef4cd539332f2afe0ea73b98a1 100644 (file)
@@ -233,11 +233,13 @@ fn log_mqtt(tx: &MQTTTransaction, flags: u32, js: &mut JsonBuilder) -> Result<()
                 log_mqtt_header(js, &msg.header)?;
                 js.set_uint("message_id", unsuback.message_id as u64)?;
                 if let Some(codes) = &unsuback.reason_codes {
-                    js.open_array("reason_codes")?;
-                    for t in codes {
-                        js.append_uint(*t as u64)?;
+                    if codes.len() > 0 {
+                        js.open_array("reason_codes")?;
+                        for t in codes {
+                            js.append_uint(*t as u64)?;
+                        }
+                        js.close()?; // reason_codes
                     }
-                    js.close()?; // reason_codes
                 }
                 js.close()?; // unsuback
             }