summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/imfs/imfs_load_tar.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libfs/src/imfs/imfs_load_tar.c')
-rw-r--r--cpukit/libfs/src/imfs/imfs_load_tar.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/cpukit/libfs/src/imfs/imfs_load_tar.c b/cpukit/libfs/src/imfs/imfs_load_tar.c
index abb9f46e36..fd47ec2380 100644
--- a/cpukit/libfs/src/imfs/imfs_load_tar.c
+++ b/cpukit/libfs/src/imfs/imfs_load_tar.c
@@ -100,10 +100,12 @@ int rtems_tarfs_load(
* - For files, create a file node with special tarfs properties.
*/
if (linkflag == DIRTYPE) {
- strcpy(full_filename, mountpoint);
- if (full_filename[strlen(full_filename)-1] != '/')
+ int len;
+ strncpy(full_filename, mountpoint, 255);
+ if (full_filename[(len=strlen(full_filename))-1] != '/')
strcat(full_filename, "/");
- strcat(full_filename, filename);
+ ++len;
+ strncat(full_filename, filename, 256-len-1);
rv = mkdir(full_filename, S_IRWXU | S_IRWXG | S_IRWXO);
}
/*