]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
dnp3: update gen script to use jb_set_string_from_bytes
authorVictor Julien <vjulien@oisf.net>
Tue, 15 Feb 2022 06:37:02 +0000 (07:37 +0100)
committerVictor Julien <vjulien@oisf.net>
Tue, 15 Feb 2022 10:14:17 +0000 (11:14 +0100)
Bug: #5080.

scripts/dnp3-gen/dnp3-gen.py

index 6b0f14e3fccbfcf88bfbff7a7a531ba9c377dfaf..3c14f1eb9c309253831856c5ca002ab9c365b2f7 100755 (executable)
@@ -175,12 +175,8 @@ void OutputJsonDNP3SetItem(JsonBuilder *js, DNP3Object *object,
             jb_set_string(js, "data->{{field.name}}", data->{{field.name}});
 {% elif field.type == "chararray" %}
             if (data->{{field.len_field}} > 0) {
-                /* First create a null terminated string as not all versions
-                 * of jansson have json_stringn. */
-                char tmpbuf[data->{{field.len_field}} + 1];
-                memcpy(tmpbuf, data->{{field.name}}, data->{{field.len_field}});
-                tmpbuf[data->{{field.len_field}}] = '\\0';
-                jb_set_string(js, "{{field.name}}", tmpbuf);
+                jb_set_string_from_bytes(
+                        js, "{{field.name}}", (const uint8_t *)data->{{field.name}}, data->{{field.len_field}});
             } else {
                 jb_set_string(js, "{{field.name}}", "");
             }