tipc: remove pointless name sanity check and tipc_alphabet array
authorYing Xue <ying.xue@windriver.com>
Thu, 16 Aug 2012 12:09:08 +0000 (12:09 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Aug 2012 09:26:30 +0000 (02:26 -0700)
There is no real reason to check whether all letters in the given
media name and network interface name are within the character set
defined in tipc_alphabet array. Even if we eliminate the checking,
the rest of checking conditions in tipc_enable_bearer() can ensure
we do not enable an invalid or illegal bearer.

Signed-off-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/bearer.c
net/tipc/core.c
net/tipc/core.h
net/tipc/link.c

index 09e71241265ddf11ffec7ac0505c6377396f247b..6b2faa57a3947b16490df59f15d1d8aed63479b6 100644 (file)
@@ -60,7 +60,7 @@ static int media_name_valid(const char *name)
        len = strlen(name);
        if ((len + 1) > TIPC_MAX_MEDIA_NAME)
                return 0;
-       return strspn(name, tipc_alphabet) == len;
+       return 1;
 }
 
 /**
@@ -206,9 +206,7 @@ static int bearer_name_validate(const char *name,
 
        /* validate component parts of bearer name */
        if ((media_len <= 1) || (media_len > TIPC_MAX_MEDIA_NAME) ||
-           (if_len <= 1) || (if_len > TIPC_MAX_IF_NAME) ||
-           (strspn(media_name, tipc_alphabet) != (media_len - 1)) ||
-           (strspn(if_name, tipc_alphabet) != (if_len - 1)))
+           (if_len <= 1) || (if_len > TIPC_MAX_IF_NAME))
                return 0;
 
        /* return bearer name components, if necessary */
index 6586eac6a50eb5508447c8d505b67d0d261d1f00..c261a5dca7c5f29897be1412fbe6832e18761e3b 100644 (file)
@@ -50,9 +50,6 @@
 /* global variables used by multiple sub-systems within TIPC */
 int tipc_random;
 
-const char tipc_alphabet[] =
-       "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.";
-
 /* configurable TIPC parameters */
 u32 tipc_own_addr;
 int tipc_max_ports;
index fd42e106c18539152822d1bfdceefc25a036b164..e4e46cd2d0e671363afe8387b4eb06cf89a9f1d4 100644 (file)
@@ -85,8 +85,6 @@ extern int tipc_remote_management;
  * Other global variables
  */
 extern int tipc_random;
-extern const char tipc_alphabet[];
-
 
 /*
  * Routines available to privileged subsystems
index 1c1e6151875e6a16c93096063b2065a419dd5e0d..a79c755cb41714bf40c66de615ce6d0cc737cb3b 100644 (file)
@@ -210,9 +210,7 @@ static int link_name_validate(const char *name,
            (z_local > 255) || (c_local > 4095) || (n_local > 4095) ||
            (z_peer  > 255) || (c_peer  > 4095) || (n_peer  > 4095) ||
            (if_local_len <= 1) || (if_local_len > TIPC_MAX_IF_NAME) ||
-           (if_peer_len  <= 1) || (if_peer_len  > TIPC_MAX_IF_NAME) ||
-           (strspn(if_local, tipc_alphabet) != (if_local_len - 1)) ||
-           (strspn(if_peer, tipc_alphabet) != (if_peer_len - 1)))
+           (if_peer_len  <= 1) || (if_peer_len  > TIPC_MAX_IF_NAME))
                return 0;
 
        /* return link name components, if necessary */