summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-03-05 21:48:10 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-03-09 17:15:20 +0100
commit83994913b6603c3a0dbb5ece4b3b5b47457ed99e (patch)
treea2684dcdfbcc0172140a4c9828c734497ff4695e /cpukit/libfs
parentimfs: Use _IMFS_get_time() (diff)
downloadrtems-83994913b6603c3a0dbb5ece4b3b5b47457ed99e.tar.bz2
imfs: Constify imfs_memfile_bytes_per_block
The CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK value is validated by <rtems/confdefs/libio.h>. Changing this value during runtime could lead to memory corruption. Update #3894.
Diffstat (limited to 'cpukit/libfs')
-rw-r--r--cpukit/libfs/src/imfs/imfs_initsupp.c35
-rw-r--r--cpukit/libfs/src/imfs/imfs_stat_file.c2
2 files changed, 0 insertions, 37 deletions
diff --git a/cpukit/libfs/src/imfs/imfs_initsupp.c b/cpukit/libfs/src/imfs/imfs_initsupp.c
index 124a1622c9..58ec41f269 100644
--- a/cpukit/libfs/src/imfs/imfs_initsupp.c
+++ b/cpukit/libfs/src/imfs/imfs_initsupp.c
@@ -21,35 +21,6 @@
#include <rtems/imfs.h>
#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-static int IMFS_determine_bytes_per_block(
- int *dest_bytes_per_block,
- int requested_bytes_per_block,
- int default_bytes_per_block
-)
-{
- bool is_valid = false;
- int bit_mask;
-
- /*
- * check, whether requested bytes per block is valid
- */
- for (bit_mask = 16; !is_valid && (bit_mask <= 512); bit_mask <<= 1) {
- if (bit_mask == requested_bytes_per_block) {
- is_valid = true;
- break;
- }
- if(bit_mask > requested_bytes_per_block)
- break;
- }
- *dest_bytes_per_block = ((is_valid)
- ? requested_bytes_per_block
- : default_bytes_per_block);
- return 0;
-}
int IMFS_initialize_support(
rtems_filesystem_mount_table_entry_t *mt_entry,
@@ -78,12 +49,6 @@ int IMFS_initialize_support(
mt_entry->mt_fs_root->location.node_access = root_node;
IMFS_Set_handlers( &mt_entry->mt_fs_root->location );
- IMFS_determine_bytes_per_block(
- &imfs_memfile_bytes_per_block,
- imfs_rq_memfile_bytes_per_block,
- IMFS_MEMFILE_DEFAULT_BYTES_PER_BLOCK
- );
-
return 0;
}
diff --git a/cpukit/libfs/src/imfs/imfs_stat_file.c b/cpukit/libfs/src/imfs/imfs_stat_file.c
index 0135fe43e3..ef1d0095a6 100644
--- a/cpukit/libfs/src/imfs/imfs_stat_file.c
+++ b/cpukit/libfs/src/imfs/imfs_stat_file.c
@@ -19,8 +19,6 @@
#include <rtems/imfs.h>
-int imfs_memfile_bytes_per_block;
-
int IMFS_stat_file(
const rtems_filesystem_location_info_t *loc,
struct stat *buf