[PATCH] commands: of_display_timings: prevent memory leak
Jules Maselbas
jmaselbas at zdiv.net
Fri Mar 14 15:30:07 PDT 2025
memory could be leaked if the S option is passed several time.
Also replace the xzalloc + strcpy call with a call to xstrdup.
Signed-off-by: Jules Maselbas <jmaselbas at zdiv.net>
---
commands/of_display_timings.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/commands/of_display_timings.c b/commands/of_display_timings.c
index 232074fce7..5998d42ffe 100644
--- a/commands/of_display_timings.c
+++ b/commands/of_display_timings.c
@@ -42,7 +42,7 @@ static int do_of_display_timings(int argc, char *argv[])
struct device_node *root = NULL;
struct device_node *display = NULL;
struct device_node *timings = NULL;
- char *timingpath = NULL;
+ const char *timingpath = NULL;
char *dtbfile = NULL;
while ((opt = getopt(argc, argv, "sS:lf:")) > 0) {
@@ -57,8 +57,7 @@ static int do_of_display_timings(int argc, char *argv[])
selected = 1;
break;
case 'S':
- timingpath = xzalloc(strlen(optarg) + 1);
- strcpy(timingpath, optarg);
+ timingpath = optarg;
break;
default:
return COMMAND_ERROR_USAGE;
@@ -108,7 +107,7 @@ static int do_of_display_timings(int argc, char *argv[])
}
if (timingpath)
- of_register_fixup(of_display_timing, timingpath);
+ of_register_fixup(of_display_timing, xstrdup(timingpath));
return 0;
}
--
2.48.1
More information about the barebox
mailing list