From 433979cdcbb0a05c1555b329840aab33395929c9 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 22 Feb 2026 14:25:06 +0100 Subject: fix critical bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- json.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/json.h b/json.h index 5f8ef2a..ebf4305 100644 --- a/json.h +++ b/json.h @@ -134,21 +134,21 @@ json_h_parse_string(char *buf, size_t *n, const char *s) if (esc) { esc = 0; if (*s == '"' || *s == '\\' || *s == '/') { - buf[*n++] = *s++; + buf[(*n)++] = *s++; } else if (*s == 'b') { - buf[*n++] = '\b'; + buf[(*n)++] = '\b'; s++; } else if (*s == 'f') { - buf[*n++] = '\f'; + buf[(*n)++] = '\f'; s++; } else if (*s == 'n') { - buf[*n++] = '\n'; + buf[(*n)++] = '\n'; s++; } else if (*s == 'r') { - buf[*n++] = '\r'; + buf[(*n)++] = '\r'; s++; } else if (*s == 't') { - buf[*n++] = '\t'; + buf[(*n)++] = '\t'; s++; } else if (*s == 'u') { if (!isxdigit(s[1]) || !isxdigit(s[2]) || !isxdigit(s[3]) || !isxdigit(s[4])) @@ -159,14 +159,14 @@ json_h_parse_string(char *buf, size_t *n, const char *s) cp |= ((unsigned long int)(s[4] & 15) + ((s[4] > '9') ? 9 : 0)) << 0; s += 5; if (cp <= 0x007F) { - buf[*n++] = (char)cp; + buf[(*n)++] = (char)cp; } else if (cp <= 0x07FF) { - buf[*n++] = (char)((cp >> 6) | 0xC0); - buf[*n++] = (char)((cp >> 0) & 0x3F); + buf[(*n)++] = (char)((cp >> 6) | 0xC0); + buf[(*n)++] = (char)((cp >> 0) & 0x3F); } else { - buf[*n++] = (char)((cp >> 12) | 0xE0); - buf[*n++] = (char)((cp >> 6) & 0x3F); - buf[*n++] = (char)((cp >> 0) & 0x3F); + buf[(*n)++] = (char)((cp >> 12) | 0xE0); + buf[(*n)++] = (char)((cp >> 6) & 0x3F); + buf[(*n)++] = (char)((cp >> 0) & 0x3F); } } else { goto einval; @@ -180,7 +180,7 @@ json_h_parse_string(char *buf, size_t *n, const char *s) } else if (*(const unsigned char *)s < ' ') { goto einval; } else { - buf[*n++] = *s++; + buf[(*n)++] = *s++; } } -- cgit v1.2.3-70-g09d2