|
|
@@ -214,7 +214,7 @@ static inline const char *get_string_component(const struct json_object *jso) |
|
|
|
|
|
|
|
static int json_escape_str(struct printbuf *pb, const char *str, size_t len, int flags) |
|
|
|
{ |
|
|
|
int pos = 0, start_offset = 0; |
|
|
|
size_t pos = 0, start_offset = 0; |
|
|
|
unsigned char c; |
|
|
|
while (len--) |
|
|
|
{ |
|
|
@@ -1329,9 +1329,10 @@ static int _json_object_set_string_len(json_object *jso, const char *s, size_t l |
|
|
|
if (jso == NULL || jso->o_type != json_type_string) |
|
|
|
return 0; |
|
|
|
|
|
|
|
if (len >= SSIZE_T_MAX - 1) |
|
|
|
if (len >= INT_MAX - 1) |
|
|
|
// jso->len is a signed ssize_t, so it can't hold the |
|
|
|
// full size_t range. |
|
|
|
// full size_t range. json_object_get_string_len returns |
|
|
|
// length as int, cap length at INT_MAX. |
|
|
|
return 0; |
|
|
|
|
|
|
|
dstbuf = get_string_component_mutable(jso); |
|
|
|