Patchwork bridge: netfilter: using strlcpy() instead of strncpy()

login
register
mail settings
Submitter Chen Gang
Date May 17, 2013, 8:07 a.m.
Message ID <5195E53A.4060406@asianux.com>
Download mbox | patch
Permalink /patch/244520/
State Accepted
Headers show

Comments

Chen Gang - May 17, 2013, 8:07 a.m.
'name' has already set all zero when it is defined, so not need let
strncpy() to pad it again.

'name' is a string, better always let is NUL terminated, so use
strlcpy() instead of strncpy().


Signed-off-by: Chen Gang <gang.chen@asianux.com>
---
 net/bridge/netfilter/ebtables.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
Bart De Schuymer - May 19, 2013, 7:43 p.m.
Op 17/05/2013 10:07, Chen Gang schreef:
>
> 'name' has already set all zero when it is defined, so not need let
> strncpy() to pad it again.
>
> 'name' is a string, better always let is NUL terminated, so use
> strlcpy() instead of strncpy().
>
>
> Signed-off-by: Chen Gang <gang.chen@asianux.com>
Acked-by: Bart De Schuymer <bdschuym@pandora.be>


--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Chen Gang - May 20, 2013, 1:04 a.m.
On 05/20/2013 03:43 AM, Bart De Schuymer wrote:
> Op 17/05/2013 10:07, Chen Gang schreef:
>>
>> 'name' has already set all zero when it is defined, so not need let
>> strncpy() to pad it again.
>>
>> 'name' is a string, better always let is NUL terminated, so use
>> strlcpy() instead of strncpy().
>>
>>
>> Signed-off-by: Chen Gang <gang.chen@asianux.com>
> Acked-by: Bart De Schuymer <bdschuym@pandora.be>

Thanks.
Pablo Neira - May 23, 2013, 10:56 a.m.
On Fri, May 17, 2013 at 04:07:22PM +0800, Chen Gang wrote:
> 
> 'name' has already set all zero when it is defined, so not need let
> strncpy() to pad it again.
> 
> 'name' is a string, better always let is NUL terminated, so use
> strlcpy() instead of strncpy().

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Chen Gang - May 23, 2013, 10:57 a.m.
On 05/23/2013 06:56 PM, Pablo Neira Ayuso wrote:
> On Fri, May 17, 2013 at 04:07:22PM +0800, Chen Gang wrote:
>> > 
>> > 'name' has already set all zero when it is defined, so not need let
>> > strncpy() to pad it again.
>> > 
>> > 'name' is a string, better always let is NUL terminated, so use
>> > strlcpy() instead of strncpy().
> Applied, thanks.
> 
> 

Thank you too.

Patch

diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c
index 3d110c4..ac78024 100644
--- a/net/bridge/netfilter/ebtables.c
+++ b/net/bridge/netfilter/ebtables.c
@@ -1339,7 +1339,7 @@  static inline int ebt_make_matchname(const struct ebt_entry_match *m,
 
 	/* ebtables expects 32 bytes long names but xt_match names are 29 bytes
 	   long. Copy 29 bytes and fill remaining bytes with zeroes. */
-	strncpy(name, m->u.match->name, sizeof(name));
+	strlcpy(name, m->u.match->name, sizeof(name));
 	if (copy_to_user(hlp, name, EBT_FUNCTION_MAXNAMELEN))
 		return -EFAULT;
 	return 0;
@@ -1351,7 +1351,7 @@  static inline int ebt_make_watchername(const struct ebt_entry_watcher *w,
 	char __user *hlp = ubase + ((char *)w - base);
 	char name[EBT_FUNCTION_MAXNAMELEN] = {};
 
-	strncpy(name, w->u.watcher->name, sizeof(name));
+	strlcpy(name, w->u.watcher->name, sizeof(name));
 	if (copy_to_user(hlp , name, EBT_FUNCTION_MAXNAMELEN))
 		return -EFAULT;
 	return 0;
@@ -1377,7 +1377,7 @@  ebt_make_names(struct ebt_entry *e, const char *base, char __user *ubase)
 	ret = EBT_WATCHER_ITERATE(e, ebt_make_watchername, base, ubase);
 	if (ret != 0)
 		return ret;
-	strncpy(name, t->u.target->name, sizeof(name));
+	strlcpy(name, t->u.target->name, sizeof(name));
 	if (copy_to_user(hlp, name, EBT_FUNCTION_MAXNAMELEN))
 		return -EFAULT;
 	return 0;