It shouldn't happen but in theory sysfs socket could overflow. Add a check for it.
Signed-off-by: Stephen Hemminger <[email protected]> --- lib/eal/linux/eal_hugepage_info.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/eal/linux/eal_hugepage_info.c b/lib/eal/linux/eal_hugepage_info.c index 7161b1a2fb..fe3351259e 100644 --- a/lib/eal/linux/eal_hugepage_info.c +++ b/lib/eal/linux/eal_hugepage_info.c @@ -150,8 +150,12 @@ get_num_hugepages_on_node(const char *subdir, unsigned int socket, size_t sz) return 0; } - snprintf(path, sizeof(path), "%s/%s/%s", + if (snprintf(path, sizeof(path), "%s/%s/%s", socketpath, subdir, nr_hp_file) >= PATH_MAX) { + EAL_LOG(NOTICE, "Socket path %s/%s/%s is truncated", socketpath, subdir, nr_hp_file); + return 0; + } + if (eal_parse_sysfs_value(path, &num_pages) < 0) return 0; -- 2.51.0

