Module: kamailio
Branch: master
Commit: a08b7640e27524863acd7dc732dffc744f801b5d
URL: 
https://github.com/kamailio/kamailio/commit/a08b7640e27524863acd7dc732dffc744f801b5d

Author: Daniel-Constantin Mierla <mico...@gmail.com>
Committer: Daniel-Constantin Mierla <mico...@gmail.com>
Date: 2020-05-11T20:34:27+02:00

core: dprint - escaped control chars need 6 bytes

- they are encoded as \uXXXX

---

Modified: src/core/dprint.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/a08b7640e27524863acd7dc732dffc744f801b5d.diff
Patch: 
https://github.com/kamailio/kamailio/commit/a08b7640e27524863acd7dc732dffc744f801b5d.patch

---

diff --git a/src/core/dprint.c b/src/core/dprint.c
index f75b2f1684..ba5cad0ee8 100644
--- a/src/core/dprint.c
+++ b/src/core/dprint.c
@@ -521,7 +521,7 @@ static void ksr_slog_json_str_escape(str *s_in, str *s_out, 
int *emode)
                if (strchr("\"\\\b\f\n\r\t", s_in->s[i])) {
                        len += 2;
                } else if (s_in->s[i] < 32) {
-                       len += 5;
+                       len += 6;
                } else {
                        len++;
                }
@@ -542,9 +542,9 @@ static void ksr_slog_json_str_escape(str *s_in, str *s_out, 
int *emode)
        p2 = s_out->s;
        p1 = s_in->s;
        while (p1 < s_in->s + s_in->len) {
-               if ((unsigned char) *p1 > 31 && *p1 != '\"' && *p1 != '\\')
+               if ((unsigned char) *p1 > 31 && *p1 != '\"' && *p1 != '\\') {
                        *p2++ = *p1++;
-               else {
+               } else {
                        *p2++ = '\\';
                        switch (token = *p1++) {
                        case '\\':
@@ -569,9 +569,10 @@ static void ksr_slog_json_str_escape(str *s_in, str 
*s_out, int *emode)
                                *p2++ = 't';
                                break;
                        default:
+                               /* escape and print */
                                snprintf(p2, 6, "u%04x", token);
                                p2 += 5;
-                               break;  /* escape and print */
+                               break;
                        }
                }
        }


_______________________________________________
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to