Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Kunal Joshi <kunal1.joshi@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Kunal Joshi <kunal1.joshi@intel.com>, Imre Deak <imre.deak@intel.com>
Subject: [PATCH i-g-t 4/6] lib/igt_kms: fix helper igt_get_dp_mst_connector_id
Date: Fri, 27 Sep 2024 19:32:20 +0530	[thread overview]
Message-ID: <20240927140222.1688565-5-kunal1.joshi@intel.com> (raw)
In-Reply-To: <20240927140222.1688565-1-kunal1.joshi@intel.com>

Use strdup() to create a copy of connector_path
before passing it to strtok(). This ensures the
original string remains unmodified, avoiding potential
bugs where the original path might be reused or
relied upon in other parts of the code.

v2: free the memory allocated by strdup (Imre)

Fixes: 0123456789ab ("lib/igt_kms: add helper for dp-mst connector id")
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
---
 lib/igt_kms.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 18744055d..9e15d25e6 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -6633,11 +6633,12 @@ static int parse_path_connector(char *connector_path)
 {
 	int connector_id;
 	char *encoder;
+	char *connector_path_copy = strdup(connector_path);
 
-	encoder = strtok(connector_path, ":");
+	encoder = strtok(connector_path_copy, ":");
 	igt_assert_f(!strcmp(encoder, "mst"), "PATH connector property expected to have 'mst'\n");
-
 	connector_id = atoi(strtok(NULL, "-"));
+	free(connector_path_copy);
 
 	return connector_id;
 }
@@ -6651,13 +6652,11 @@ static int parse_path_connector(char *connector_path)
 int igt_get_dp_mst_connector_id(igt_output_t *output)
 {
 	int connector_id;
-	char *connector_path;
 
 	if (!igt_check_output_is_dp_mst(output))
 		return -EINVAL;
 
-	connector_path = output->config.connector_path;
-	connector_id = parse_path_connector(connector_path);
+	connector_id = parse_path_connector(output->config.connector_path);
 
 	return connector_id;
 }
-- 
2.40.1


  parent reply	other threads:[~2024-09-27 13:50 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-27 14:02 [PATCH i-g-t 0/6] add test to validate fallback Kunal Joshi
2024-09-27 14:02 ` [PATCH i-g-t 1/6] lib/igt_kms: add DP link management helper functions Kunal Joshi
2024-09-27 14:02 ` [PATCH i-g-t 2/6] lib/igt_kms: allow set and reset value to be same Kunal Joshi
2024-09-27 14:02 ` [PATCH i-g-t 3/6] lib/igt_kms: add function to reset link params Kunal Joshi
2024-09-27 14:02 ` Kunal Joshi [this message]
2024-09-27 14:02 ` [PATCH i-g-t 5/6] lib/igt_kms: Handle EINVAL error as well Kunal Joshi
2024-09-27 14:02 ` [PATCH i-g-t 6/6] tests/intel/kms_dp_linktrain_fallback: add test for validating fallback Kunal Joshi
2024-09-27 15:47 ` ✗ Fi.CI.BAT: failure for add test to validate fallback (rev8) Patchwork
2024-09-27 16:34 ` ✓ CI.xeBAT: success " Patchwork
2024-09-28 12:47 ` ✗ CI.xeFULL: failure " Patchwork
2024-10-09 10:57   ` Naladala, Ramanaidu
2024-10-03  6:23 ` ✓ Fi.CI.BAT: success " Patchwork
2024-10-04  9:48 ` ✗ Fi.CI.IGT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240927140222.1688565-5-kunal1.joshi@intel.com \
    --to=kunal1.joshi@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=imre.deak@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox