mirror of
https://github.com/json-c/json-c.git
synced 2026-03-22 22:49:06 +08:00
This commit is contained in:
@@ -774,12 +774,11 @@ static int json_object_double_to_json_string_format(struct json_object* jso,
|
||||
if (!format)
|
||||
format = std_format;
|
||||
size = snprintf(buf, sizeof(buf), format, jso->o.c_double);
|
||||
if (modf(jso->o.c_double, &dummy) == 0)
|
||||
if (modf(jso->o.c_double, &dummy) == 0 && size >= 0 && size < (int)sizeof(buf) - 2)
|
||||
{
|
||||
// Ensure it looks like a float, even if snprintf didn't.
|
||||
strncat(buf, ".0", sizeof(buf) - 1);
|
||||
if (size >= 0)
|
||||
size += 2; // yes, even if strncat ran out of room
|
||||
strcat(buf, ".0");
|
||||
size += 2;
|
||||
}
|
||||
}
|
||||
// although unlikely, snprintf can fail
|
||||
|
||||
Reference in New Issue
Block a user