[PATCH v3] kernel: module: using strlcpy and strcpy instead of strncpy

Chen Gang
2013-04-10T04:14:06Z

namebuf is NUL terminated string. better always let it ended by '\0'.

the module_name() is always the name field of struct module (which is
a fixed array), or a literal "kernel", so strcpy is better.

Signed-off-by: Chen Gang <gang.chen@asianux.com>
---
kernel/module.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index 3c2c72d..09aeefd 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1283,7 +1283,7 @@ static const struct kernel_symbol *resolve_symbol(struct module *mod,

getname:
/* We must make copy under the lock if we failed to get ref. */
- strncpy(ownername, module_name(owner), MODULE_NAME_LEN);
+ strcpy(ownername, module_name(owner));
unlock:
mutex_unlock(&module_mutex);
return sym;
@@ -3464,7 +3464,7 @@ const char *module_address_lookup(unsigned long addr,
}
/* Make a copy in here where it's safe */
if (ret) {
- strncpy(namebuf, ret, KSYM_NAME_LEN - 1);
+ strlcpy(namebuf, ret, KSYM_NAME_LEN);
ret = namebuf;
}
preempt_enable();
--
1.7.7.6