Fix unbounded writing of sscanf

'%s' may lead to buffer overflow if the width is not provided.
This commit is contained in:
Mingjie Shen 2023-04-21 00:41:12 -04:00
parent 535680668b
commit 4233d266f5

View File

@ -789,7 +789,7 @@ static int tinyobj_parse_and_index_mtl_file(tinyobj_material_t **materials_out,
#ifdef _MSC_VER #ifdef _MSC_VER
sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf)); sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf));
#else #else
sscanf(token, "%s", namebuf); sscanf(token, "%4095s", namebuf);
#endif #endif
material.name = my_strdup(namebuf, (unsigned int) (line_end - token)); material.name = my_strdup(namebuf, (unsigned int) (line_end - token));