[igt-dev] [PATCH i-g-t 1/3] Avoid truncate string in __igt_lsof_fds

Rodrigo Siqueira rodrigosiqueiramelo at gmail.com
Wed May 30 00:46:38 UTC 2018


Note that 'proc_path' parameter in __igt_lsof_fds receives a string
which was initialized with the size of PATH_MAX and the local variable
'path' has the same size, but it also have to append: '/', '\0', and the
directory name. This situation caused the warning described below.

warning: ‘%s’ directive output may be truncated writing up to 255 bytes
into a region of size between 0 and 4095 [-Wformat-truncation=]
snprintf(path, sizeof(path), "%s/%s", proc_path, d->d_name);
note: ‘snprintf’ output between 2 and 4352 bytes into a destination of
size 4096 [..]

This patch fix the above problem.

Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo at gmail.com>
---
 lib/igt_aux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index acafb713..5dd2761e 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -1425,7 +1425,7 @@ __igt_lsof_fds(proc_t *proc_info, int *state, char *proc_path, const char *dir)
 {
 	struct dirent *d;
 	struct stat st;
-	char path[PATH_MAX];
+	char path[PATH_MAX + NAME_MAX + 2]; // 1 byte for '/' and another for '\0'
 	char *fd_lnk;
 
 	/* default fds or kernel threads */
-- 
2.17.0



More information about the igt-dev mailing list