The utimbuf structs in fsimfsconfig01 and fsimfsconfig02 were being passed to utime uninitialized. This did not cause problems until utime was changed to use utimensat behind the scenes. Now that utimensat is called, the values of the utimbuf struct are checked, and EINVAL is set for invalid values. The utimebuf structs in these tests could contain invalid values since they are uninitialized.
By zero-initializing the utimbuf structs, we ensure that they pass the checks in utimensat and that errno is set to the expected ENOTSUP. --- testsuites/fstests/fsimfsconfig01/init.c | 2 +- testsuites/fstests/fsimfsconfig03/init.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/testsuites/fstests/fsimfsconfig01/init.c b/testsuites/fstests/fsimfsconfig01/init.c index fd11329bf6..e9e811a5f1 100644 --- a/testsuites/fstests/fsimfsconfig01/init.c +++ b/testsuites/fstests/fsimfsconfig01/init.c @@ -39,7 +39,7 @@ static const IMFS_node_control node_control = IMFS_GENERIC_INITIALIZER( static void Init(rtems_task_argument arg) { - struct utimbuf times; + struct utimbuf times = {0}; const char *generic = "generic"; const char *mnt = "mnt"; const char *dev = "device"; diff --git a/testsuites/fstests/fsimfsconfig03/init.c b/testsuites/fstests/fsimfsconfig03/init.c index 32db1638f4..3fdaa5f85b 100644 --- a/testsuites/fstests/fsimfsconfig03/init.c +++ b/testsuites/fstests/fsimfsconfig03/init.c @@ -38,7 +38,7 @@ static const IMFS_node_control node_control = IMFS_GENERIC_INITIALIZER( static void Init(rtems_task_argument arg) { - struct utimbuf times; + struct utimbuf times = {0}; const char *generic = "generic"; const char *mnt = "mnt"; const char *dev = "device"; -- 2.27.0 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel