summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-08-27 06:29:26 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-08-27 06:29:26 +0000
commite91cd600222b3a37f1a8642e1aad070a429f786a (patch)
tree4d8c590525ee312ff2af235a73abbccf0caa4b73 /cpukit/libcsupport
parent2010-08-27 Chris Johns <chrisj@rtems.org> (diff)
downloadrtems-e91cd600222b3a37f1a8642e1aad070a429f786a.tar.bz2
2010-08-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libcsupport/src/mount.c: Avoid strcpy().
Diffstat (limited to 'cpukit/libcsupport')
-rw-r--r--cpukit/libcsupport/src/mount.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/cpukit/libcsupport/src/mount.c b/cpukit/libcsupport/src/mount.c
index 96720e77ab..00a07aab3a 100644
--- a/cpukit/libcsupport/src/mount.c
+++ b/cpukit/libcsupport/src/mount.c
@@ -74,29 +74,27 @@ static rtems_filesystem_mount_table_entry_t *alloc_mount_table_entry(
size_t filesystemtype_size = strlen( filesystemtype ) + 1;
size_t source_size = source_or_null != NULL ?
strlen( source_or_null ) + 1 : 0;
- size_t target_length = strlen( target );
+ size_t target_size = strlen( target ) + 1;
size_t size = sizeof( rtems_filesystem_mount_table_entry_t )
- + filesystemtype_size + source_size + target_length + 1;
+ + filesystemtype_size + source_size + target_size;
rtems_filesystem_mount_table_entry_t *mt_entry = calloc( 1, size );
if ( mt_entry != NULL ) {
char *str = (char *) mt_entry + sizeof( *mt_entry );
- strcpy( str, filesystemtype );
+ memcpy( str, filesystemtype, filesystemtype_size );
mt_entry->type = str;
str += filesystemtype_size;
- if ( source_or_null != NULL ) {
- strcpy( str, source_or_null );
- mt_entry->dev = str;
- str += source_size;
- }
+ memcpy( str, source_or_null, source_size );
+ mt_entry->dev = str;
+ str += source_size;
- strcpy( str, target );
+ memcpy( str, target, target_size );
mt_entry->target = str;
}
- *target_length_ptr = target_length;
+ *target_length_ptr = target_size - 1;
return mt_entry;
}