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_location_info_t loc;
|
||||||
rtems_filesystem_mount_table_entry_t *temp_mt_entry;
|
rtems_filesystem_mount_table_entry_t *temp_mt_entry;
|
||||||
rtems_filesystem_location_info_t *loc_to_free = NULL;
|
rtems_filesystem_location_info_t *loc_to_free = NULL;
|
||||||
|
size_t size;
|
||||||
|
|
||||||
/* XXX add code to check for required operations */
|
/* XXX add code to check for required operations */
|
||||||
|
|
||||||
@@ -100,7 +101,10 @@ int mount(
|
|||||||
* Allocate a mount table entry
|
* 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 ) {
|
if ( !temp_mt_entry ) {
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
@@ -109,9 +113,11 @@ int mount(
|
|||||||
|
|
||||||
temp_mt_entry->mt_fs_root.mt_entry = temp_mt_entry;
|
temp_mt_entry->mt_fs_root.mt_entry = temp_mt_entry;
|
||||||
temp_mt_entry->options = options;
|
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 );
|
strcpy( temp_mt_entry->dev, device );
|
||||||
else
|
} else
|
||||||
temp_mt_entry->dev = 0;
|
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>
|
2000-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||||
|
|
||||||
* libc/libio.c: Special treatment of O_NDELAY for Cygwin.
|
* libc/libio.c: Special treatment of O_NDELAY for Cygwin.
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ int mount(
|
|||||||
rtems_filesystem_location_info_t loc;
|
rtems_filesystem_location_info_t loc;
|
||||||
rtems_filesystem_mount_table_entry_t *temp_mt_entry;
|
rtems_filesystem_mount_table_entry_t *temp_mt_entry;
|
||||||
rtems_filesystem_location_info_t *loc_to_free = NULL;
|
rtems_filesystem_location_info_t *loc_to_free = NULL;
|
||||||
|
size_t size;
|
||||||
|
|
||||||
/* XXX add code to check for required operations */
|
/* XXX add code to check for required operations */
|
||||||
|
|
||||||
@@ -100,7 +101,10 @@ int mount(
|
|||||||
* Allocate a mount table entry
|
* 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 ) {
|
if ( !temp_mt_entry ) {
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
@@ -109,9 +113,11 @@ int mount(
|
|||||||
|
|
||||||
temp_mt_entry->mt_fs_root.mt_entry = temp_mt_entry;
|
temp_mt_entry->mt_fs_root.mt_entry = temp_mt_entry;
|
||||||
temp_mt_entry->options = options;
|
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 );
|
strcpy( temp_mt_entry->dev, device );
|
||||||
else
|
} else
|
||||||
temp_mt_entry->dev = 0;
|
temp_mt_entry->dev = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ int mount(
|
|||||||
rtems_filesystem_location_info_t loc;
|
rtems_filesystem_location_info_t loc;
|
||||||
rtems_filesystem_mount_table_entry_t *temp_mt_entry;
|
rtems_filesystem_mount_table_entry_t *temp_mt_entry;
|
||||||
rtems_filesystem_location_info_t *loc_to_free = NULL;
|
rtems_filesystem_location_info_t *loc_to_free = NULL;
|
||||||
|
size_t size;
|
||||||
|
|
||||||
/* XXX add code to check for required operations */
|
/* XXX add code to check for required operations */
|
||||||
|
|
||||||
@@ -100,7 +101,10 @@ int mount(
|
|||||||
* Allocate a mount table entry
|
* 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 ) {
|
if ( !temp_mt_entry ) {
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
@@ -109,9 +113,11 @@ int mount(
|
|||||||
|
|
||||||
temp_mt_entry->mt_fs_root.mt_entry = temp_mt_entry;
|
temp_mt_entry->mt_fs_root.mt_entry = temp_mt_entry;
|
||||||
temp_mt_entry->options = options;
|
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 );
|
strcpy( temp_mt_entry->dev, device );
|
||||||
else
|
} else
|
||||||
temp_mt_entry->dev = 0;
|
temp_mt_entry->dev = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user