Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [CI 1/6] lib/igt_drm_fdinfo: Fix wrong name len assert
@ 2024-04-30 19:01 Lucas De Marchi
  2024-04-30 19:01 ` [CI 2/6] lib/igt_drm_fdinfo: Assert pdev is not truncated Lucas De Marchi
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Lucas De Marchi @ 2024-04-30 19:01 UTC (permalink / raw)
  To: igt-dev; +Cc: Lucas De Marchi, Umesh Nerlige Ramappa, Tvrtko Ursulin

When parsing engine name, at this point we have something like:

	"drm-engine-render:	232409619162 ns"
	            ^      ^
	            |      |
	          name     p

We are copying the engine name to the final destination, but
strlen(name) will actually contain the entire string. Since we already
know the name length, calculated previously, just use it for copying the
string.

Since each name is 256-bytes long, the assert doesn't trigger easily,
but it's better to be correct. And more efficient.

Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 lib/igt_drm_fdinfo.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/igt_drm_fdinfo.c b/lib/igt_drm_fdinfo.c
index 18dbb5d0b..a1f4ad10d 100644
--- a/lib/igt_drm_fdinfo.c
+++ b/lib/igt_drm_fdinfo.c
@@ -90,8 +90,9 @@ static int parse_engine(char *line, struct drm_client_fdinfo *info,
 
 		if (found < 0) {
 			assert((info->num_engines + 1) < ARRAY_SIZE(info->names));
-			assert((strlen(name) + 1) < sizeof(info->names[0]));
-			strncpy(info->names[info->num_engines], name, name_len);
+			assert(name_len  < sizeof(info->names[0]));
+			memcpy(info->names[info->num_engines], name, name_len);
+			info->names[info->num_engines][name_len] = '\0';
 			found = info->num_engines;
 		}
 	}
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-05-01 13:59 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-30 19:01 [CI 1/6] lib/igt_drm_fdinfo: Fix wrong name len assert Lucas De Marchi
2024-04-30 19:01 ` [CI 2/6] lib/igt_drm_fdinfo: Assert pdev is not truncated Lucas De Marchi
2024-04-30 19:01 ` [CI 3/6] lib/igt_drm_fdinfo: Detect invalid drm-client-id Lucas De Marchi
2024-04-30 19:01 ` [CI 4/6] lib/igt_drm_fdinfo: Stop ignoring space where not needed Lucas De Marchi
2024-04-30 19:01 ` [CI 5/6] tools/gputop: Extract method to update console size Lucas De Marchi
2024-04-30 19:01 ` [CI 6/6] tools/gputop: Extract clrscr() Lucas De Marchi
2024-04-30 21:11 ` ✓ Fi.CI.BAT: success for series starting with [CI,1/6] lib/igt_drm_fdinfo: Fix wrong name len assert Patchwork
2024-04-30 21:19 ` ✓ CI.xeBAT: " Patchwork
2024-05-01  2:24 ` ✗ CI.xeFULL: failure " Patchwork
2024-05-01  6:42 ` ✗ Fi.CI.IGT: " Patchwork
2024-05-01 13:59 ` [CI 1/6] " Lucas De Marchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox