From 04684cbc436f79339854c4bca22f65bb947f6949 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 13 Feb 2017 15:13:02 +0100 Subject: dosfs: Fix msdos_find_file_in_directory() For a filename match the entry must match without anything remaining. Update #2908. --- testsuites/fstests/fsdosfsname01/init.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'testsuites') diff --git a/testsuites/fstests/fsdosfsname01/init.c b/testsuites/fstests/fsdosfsname01/init.c index c5af7fc351..4d0695872a 100644 --- a/testsuites/fstests/fsdosfsname01/init.c +++ b/testsuites/fstests/fsdosfsname01/init.c @@ -1071,6 +1071,22 @@ static void test_compatibility( void ) rtems_test_assert( rc == 0 ); } +static void test_end_of_string_matches( void ) +{ + int rc; + + rc = mkdir( MOUNT_DIR "/lib.beam", S_IRWXU | S_IRWXG | S_IRWXO ); + rtems_test_assert( rc == 0 ); + + errno = 0; + rc = unlink( MOUNT_DIR "/proc_lib.beam" ); + rtems_test_assert( rc == -1 ); + rtems_test_assert( errno == ENOENT ); + + rc = unlink( MOUNT_DIR "/lib.beam" ); + rtems_test_assert( rc == 0 ); +} + /* * Main test method */ @@ -1129,6 +1145,8 @@ static void test( void ) "/dev/rdb", NULL); + test_end_of_string_matches(); + rc = unmount( MOUNT_DIR ); rtems_test_assert( rc == 0 ); @@ -1197,6 +1215,8 @@ static void test( void ) "/dev/rdb", &mount_opts[1]); + test_end_of_string_matches(); + rc = unmount( MOUNT_DIR ); rtems_test_assert( rc == 0 ); @@ -1260,6 +1280,8 @@ static void test( void ) "/dev/rdc", &mount_opts[1]); + test_end_of_string_matches(); + rc = unmount( MOUNT_DIR ); rtems_test_assert( rc == 0 ); -- cgit v1.2.3