Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit d65fcc6

Browse files
author
Arto Kinnunen
authoredFeb 4, 2020
Fix Wi-SUN network name comparison (ARMmbed#2294)
Wi-SUN network name comparison function accepts partially matching network names. Adjust comparison so that network names must fully match.
1 parent f085132 commit d65fcc6

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed
 

‎source/6LoWPAN/ws/ws_bootstrap.c

+9-2
Original file line numberDiff line numberDiff line change
@@ -822,19 +822,26 @@ void ws_bootstrap_configuration_reset(protocol_interface_info_entry_t *cur)
822822

823823
static bool ws_bootstrap_network_name_matches(const struct mcps_data_ie_list *ie_ext, const char *network_name_ptr)
824824
{
825+
ws_wp_network_name_t network_name;
826+
825827
if (!network_name_ptr || !ie_ext) {
826828
return false;
827829
}
828830

829-
ws_wp_network_name_t network_name;
830831
if (!ws_wp_nested_network_name_read(ie_ext->payloadIeList, ie_ext->payloadIeListLength, &network_name)) {
831832
tr_warn("No network name IE");
832833
return false;
833834
}
834835

835-
if (network_name_ptr == NULL || strncmp(network_name_ptr, (char *)network_name.network_name, network_name.network_name_length) != 0) {
836+
if (network_name.network_name_length != strlen(network_name_ptr)) {
836837
return false;
837838
}
839+
840+
if (strncmp(network_name_ptr, (char *)network_name.network_name, network_name.network_name_length) != 0) {
841+
return false;
842+
}
843+
844+
// names have equal length and same characters
838845
return true;
839846
}
840847

0 commit comments

Comments
 (0)
Please sign in to comment.