summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/imfs/imfs_creat.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libfs/src/imfs/imfs_creat.c')
-rw-r--r--cpukit/libfs/src/imfs/imfs_creat.c6
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.
*/