Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fc073938 authored by Ying Xue's avatar Ying Xue Committed by David S. Miller
Browse files

tipc: remove pointless name sanity check and tipc_alphabet array



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: default avatarYing Xue <ying.xue@windriver.com>
Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4225a398
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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 */
+0 −3
Original line number Diff line number Diff line
@@ -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;
+0 −2
Original line number Diff line number Diff line
@@ -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
+1 −3
Original line number Diff line number Diff line
@@ -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 */