diff options
| author | 2023-03-07 09:56:16 +0100 | |
|---|---|---|
| committer | 2023-03-07 09:56:16 +0100 | |
| commit | 2250ad702723a50afd93def3735fcfe854701aa3 (patch) | |
| tree | 44c34fbf2ff7f0d93ece6c5c842cdbd27eb498f3 /xs_json.h | |
| parent | is_msg_for_me() also accepts msgs where a followed is cc'ed. (diff) | |
| download | penes-snac2-2250ad702723a50afd93def3735fcfe854701aa3.tar.gz penes-snac2-2250ad702723a50afd93def3735fcfe854701aa3.tar.xz penes-snac2-2250ad702723a50afd93def3735fcfe854701aa3.zip | |
Sanitize control codes in JSON code.
Diffstat (limited to '')
| -rw-r--r-- | xs_json.h | 4 |
1 files changed, 4 insertions, 0 deletions
| @@ -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 | ||