X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fini-config%2Fini.cpp;h=c17a8c0e8684b8d887b799abced290390775e989;hb=HEAD;hp=978b185fac98073f6e5beccdb952822cc301d183;hpb=28ab034a2c3582d07d3423d2d746731f87d3969f;p=lttng-tools.git diff --git a/src/common/ini-config/ini.cpp b/src/common/ini-config/ini.cpp index 978b185fa..c17a8c0e8 100644 --- a/src/common/ini-config/ini.cpp +++ b/src/common/ini-config/ini.cpp @@ -117,7 +117,7 @@ int ini_parse_file(FILE *file, ini_entry_handler handler, void *user) #endif /* Scan through file line by line */ - while (fgets(line, INI_MAX_LINE, file) != NULL) { + while (fgets(line, INI_MAX_LINE, file) != nullptr) { lineno++; start = line; @@ -178,6 +178,10 @@ int ini_parse_file(FILE *file, ini_entry_handler handler, void *user) * Valid name[=:]value pair found, call * handler */ + if (strlen(name) >= sizeof(prev_name)) { + /* Truncation occurs, report an error. */ + error = lineno; + } strncpy0(prev_name, name, sizeof(prev_name)); if (handler(user, section, name, value) < 0 && !error) { error = lineno;