diff options
Diffstat (limited to 'cpukit/libfs/src/imfs/imfs_creat.c')
-rw-r--r-- | cpukit/libfs/src/imfs/imfs_creat.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cpukit/libfs/src/imfs/imfs_creat.c b/cpukit/libfs/src/imfs/imfs_creat.c index 9675ca35a3..2e24972a28 100644 --- a/cpukit/libfs/src/imfs/imfs_creat.c +++ b/cpukit/libfs/src/imfs/imfs_creat.c @@ -35,7 +35,7 @@ IMFS_jnode_t *IMFS_create_node( IMFS_jnode_t *allocated_node; IMFS_jnode_t *node; - allocated_node = calloc( 1, node_size ); + allocated_node = calloc( 1, node_size + namelen ); if ( allocated_node == NULL ) { errno = ENOMEM; @@ -45,7 +45,7 @@ IMFS_jnode_t *IMFS_create_node( node = IMFS_initialize_node( allocated_node, node_control, - name, + (char *) allocated_node + node_size, namelen, mode, arg @@ -53,6 +53,8 @@ IMFS_jnode_t *IMFS_create_node( if ( node != NULL ) { IMFS_jnode_t *parent = parentloc->node_access; + memcpy( node->name, name, namelen ); + /* * This node MUST have a parent, so put it in that directory list. */ |