summaryrefslogtreecommitdiff
path: root/xs_json.h
diff options
context:
space:
mode:
authorGravatar default2023-03-07 09:56:16 +0100
committerGravatar default2023-03-07 09:56:16 +0100
commit2250ad702723a50afd93def3735fcfe854701aa3 (patch)
tree44c34fbf2ff7f0d93ece6c5c842cdbd27eb498f3 /xs_json.h
parentis_msg_for_me() also accepts msgs where a followed is cc'ed. (diff)
downloadpenes-snac2-2250ad702723a50afd93def3735fcfe854701aa3.tar.gz
penes-snac2-2250ad702723a50afd93def3735fcfe854701aa3.tar.xz
penes-snac2-2250ad702723a50afd93def3735fcfe854701aa3.zip
Sanitize control codes in JSON code.
Diffstat (limited to 'xs_json.h')
-rw-r--r--xs_json.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/xs_json.h b/xs_json.h
index 9b700a2..36a0665 100644
--- a/xs_json.h
+++ b/xs_json.h
@@ -260,6 +260,10 @@ static xs_val *_xs_json_loads_lexer(const char **json, js_type *t)
260 else 260 else
261 cp = i; 261 cp = i;
262 262
263 /* replace dangerous control codes with the replacement char */
264 if (cp >= '\0' && cp < ' ' && !strchr("\r\n\t", cp))
265 cp = 0xfffd;
266
263 v = xs_utf8_enc(v, cp); 267 v = xs_utf8_enc(v, cp);
264 c = '\0'; 268 c = '\0';
265 269