forked from Imagelibrary/rtems
2000-11-20 Dmitry Kargapolov <dk@gentex.ru>
* libc/mount.c: Make sure there is space allocated for a device name in the mount table entry.
This commit is contained in:
@@ -74,6 +74,7 @@ int mount(
|
||||
rtems_filesystem_location_info_t loc;
|
||||
rtems_filesystem_mount_table_entry_t *temp_mt_entry;
|
||||
rtems_filesystem_location_info_t *loc_to_free = NULL;
|
||||
size_t size;
|
||||
|
||||
/* XXX add code to check for required operations */
|
||||
|
||||
@@ -100,7 +101,10 @@ int mount(
|
||||
* Allocate a mount table entry
|
||||
*/
|
||||
|
||||
temp_mt_entry = malloc( sizeof(rtems_filesystem_mount_table_entry_t) );
|
||||
size = sizeof(rtems_filesystem_mount_table_entry_t);
|
||||
if ( device )
|
||||
size += strlen( device ) + 1;
|
||||
temp_mt_entry = malloc( size );
|
||||
|
||||
if ( !temp_mt_entry ) {
|
||||
errno = ENOMEM;
|
||||
@@ -109,9 +113,11 @@ int mount(
|
||||
|
||||
temp_mt_entry->mt_fs_root.mt_entry = temp_mt_entry;
|
||||
temp_mt_entry->options = options;
|
||||
if ( device )
|
||||
if ( device ) {
|
||||
temp_mt_entry->dev =
|
||||
(char *)temp_mt_entry + sizeof( rtems_filesystem_mount_table_entry_t );
|
||||
strcpy( temp_mt_entry->dev, device );
|
||||
else
|
||||
} else
|
||||
temp_mt_entry->dev = 0;
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
|
||||
2000-11-20 Dmitry Kargapolov <dk@gentex.ru>
|
||||
|
||||
* libc/mount.c: Make sure there is space allocated for a device name
|
||||
in the mount table entry.
|
||||
|
||||
2000-11-17 Jennifer Averret <jennifer@OARcorp.com>
|
||||
|
||||
* libc/mount.c (search_mt_for_mount_point): Deleted routine.
|
||||
* libc/mount.c (Is_node_fs_root): Replacement for above that
|
||||
accounts for the imaginary root node being returned by the
|
||||
filesystem evaluation routine.
|
||||
* libc/unmount.c (unmount): Account for imaginary root node
|
||||
being returned and improved variable names to clarify code.
|
||||
* libc/unmount.c (file_systems_below_this_mountpoint): Body of
|
||||
routine replaced to account for imaginary root node being returned.
|
||||
|
||||
2000-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* libc/libio.c: Special treatment of O_NDELAY for Cygwin.
|
||||
|
||||
@@ -74,6 +74,7 @@ int mount(
|
||||
rtems_filesystem_location_info_t loc;
|
||||
rtems_filesystem_mount_table_entry_t *temp_mt_entry;
|
||||
rtems_filesystem_location_info_t *loc_to_free = NULL;
|
||||
size_t size;
|
||||
|
||||
/* XXX add code to check for required operations */
|
||||
|
||||
@@ -100,7 +101,10 @@ int mount(
|
||||
* Allocate a mount table entry
|
||||
*/
|
||||
|
||||
temp_mt_entry = malloc( sizeof(rtems_filesystem_mount_table_entry_t) );
|
||||
size = sizeof(rtems_filesystem_mount_table_entry_t);
|
||||
if ( device )
|
||||
size += strlen( device ) + 1;
|
||||
temp_mt_entry = malloc( size );
|
||||
|
||||
if ( !temp_mt_entry ) {
|
||||
errno = ENOMEM;
|
||||
@@ -109,9 +113,11 @@ int mount(
|
||||
|
||||
temp_mt_entry->mt_fs_root.mt_entry = temp_mt_entry;
|
||||
temp_mt_entry->options = options;
|
||||
if ( device )
|
||||
if ( device ) {
|
||||
temp_mt_entry->dev =
|
||||
(char *)temp_mt_entry + sizeof( rtems_filesystem_mount_table_entry_t );
|
||||
strcpy( temp_mt_entry->dev, device );
|
||||
else
|
||||
} else
|
||||
temp_mt_entry->dev = 0;
|
||||
|
||||
/*
|
||||
|
||||
@@ -74,6 +74,7 @@ int mount(
|
||||
rtems_filesystem_location_info_t loc;
|
||||
rtems_filesystem_mount_table_entry_t *temp_mt_entry;
|
||||
rtems_filesystem_location_info_t *loc_to_free = NULL;
|
||||
size_t size;
|
||||
|
||||
/* XXX add code to check for required operations */
|
||||
|
||||
@@ -100,7 +101,10 @@ int mount(
|
||||
* Allocate a mount table entry
|
||||
*/
|
||||
|
||||
temp_mt_entry = malloc( sizeof(rtems_filesystem_mount_table_entry_t) );
|
||||
size = sizeof(rtems_filesystem_mount_table_entry_t);
|
||||
if ( device )
|
||||
size += strlen( device ) + 1;
|
||||
temp_mt_entry = malloc( size );
|
||||
|
||||
if ( !temp_mt_entry ) {
|
||||
errno = ENOMEM;
|
||||
@@ -109,9 +113,11 @@ int mount(
|
||||
|
||||
temp_mt_entry->mt_fs_root.mt_entry = temp_mt_entry;
|
||||
temp_mt_entry->options = options;
|
||||
if ( device )
|
||||
if ( device ) {
|
||||
temp_mt_entry->dev =
|
||||
(char *)temp_mt_entry + sizeof( rtems_filesystem_mount_table_entry_t );
|
||||
strcpy( temp_mt_entry->dev, device );
|
||||
else
|
||||
} else
|
||||
temp_mt_entry->dev = 0;
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user