Recent changes (master)
Jens Axboe <[email protected]> Tue, 10 Mar 2026 06:00:01 -0600
| Newsgroups | org.kernel.vger.fio |
|---|---|
| Message-ID | <[email protected]> |
The following changes since commit 5d15185ae6f0c46822c0e360c5bd75042269a5eb:
t/zbd: avoid test case 71 failure with write_zone_remainder option (2026-03-03 19:11:54 -0500)
are available in the Git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to fa23c09bfefb2b9c960d179ad67d356fbc29179f:
Merge branch 'push-lnvrzuqpnylp' of https://github.com/msuozzo/fio (2026-03-09 20:02:12 -0600)
----------------------------------------------------------------
Jens Axboe (1):
Merge branch 'push-lnvrzuqpnylp' of https://github.com/msuozzo/fio
Matthew Suozzo (1):
options: fix heap-use-after-free in ioengine_so_path
options.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
---
Diff of recent changes:
diff --git a/options.c b/options.c
index 8d9e3054..a4cd1a77 100644
--- a/options.c
+++ b/options.c
@@ -1924,7 +1924,9 @@ static int str_ioengine_external_cb(void *data, const char *str)
return 1;
}
- td->o.ioengine_so_path = p;
+ if (td->o.ioengine_so_path)
+ free(td->o.ioengine_so_path);
+ td->o.ioengine_so_path = strdup(p);
return 0;
}
@@ -6121,6 +6123,9 @@ void fio_options_mem_dupe(struct thread_data *td)
{
options_mem_dupe(fio_options, &td->o);
+ if (td->o.ioengine_so_path)
+ td->o.ioengine_so_path = strdup(td->o.ioengine_so_path);
+
if (td->eo && td->io_ops) {
void *oldeo = td->eo;
@@ -6230,6 +6235,11 @@ void del_opt_posval(const char *optname, const char *ival)
void fio_options_free(struct thread_data *td)
{
options_free(fio_options, &td->o);
+ if (td->o.ioengine_so_path) {
+ free(td->o.ioengine_so_path);
+ td->o.ioengine_so_path = NULL;
+ }
+
if (td->eo && td->io_ops && td->io_ops->options) {
options_free(td->io_ops->options, td->eo);
free(td->eo);