diff mbox

wpa_cli: Use tab as only word separator for networks

Message ID 1427450608-24252-1-git-send-email-mikael.kanstrup@sonymobile.com
State Accepted
Headers show

Commit Message

Mikael Kanstrup March 27, 2015, 10:03 a.m. UTC
White space is a valid SSID character so completion routine for
networks should only use tab as word separator.

Signed-off-by: Mikael Kanstrup <mikael.kanstrup@sonymobile.com>
---
 wpa_supplicant/wpa_cli.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

Comments

Jouni Malinen March 28, 2015, 12:42 p.m. UTC | #1
On Fri, Mar 27, 2015 at 11:03:28AM +0100, Mikael Kanstrup wrote:
> White space is a valid SSID character so completion routine for
> networks should only use tab as word separator.

Thanks, applied.
diff mbox

Patch

diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c
index 5df7c48..1a4579e 100644
--- a/wpa_supplicant/wpa_cli.c
+++ b/wpa_supplicant/wpa_cli.c
@@ -170,13 +170,12 @@  static void cli_txt_list_del_addr(struct dl_list *txt_list, const char *txt)
 
 
 #ifdef CONFIG_P2P
-static void cli_txt_list_del_word(struct dl_list *txt_list, const char *txt)
+static void cli_txt_list_del_word(struct dl_list *txt_list, const char *txt,
+				  int separator)
 {
 	const char *end;
 	char *buf;
-	end = os_strchr(txt, ' ');
-	if (end == NULL)
-		end = os_strchr(txt, '\t');
+	end = os_strchr(txt, separator);
 	if (end == NULL)
 		end = txt + os_strlen(txt);
 	buf = dup_binstr(txt, end - txt);
@@ -220,14 +219,13 @@  static int cli_txt_list_add_addr(struct dl_list *txt_list, const char *txt)
 #endif /* CONFIG_P2P */
 
 
-static int cli_txt_list_add_word(struct dl_list *txt_list, const char *txt)
+static int cli_txt_list_add_word(struct dl_list *txt_list, const char *txt,
+				 int separator)
 {
 	const char *end;
 	char *buf;
 	int ret;
-	end = os_strchr(txt, ' ');
-	if (end == NULL)
-		end = os_strchr(txt, '\t');
+	end = os_strchr(txt, separator);
 	if (end == NULL)
 		end = txt + os_strlen(txt);
 	buf = dup_binstr(txt, end - txt);
@@ -3752,7 +3750,7 @@  static void cli_event(const char *str)
 		s = os_strchr(start, ' ');
 		if (s == NULL)
 			return;
-		cli_txt_list_add_word(&p2p_groups, s + 1);
+		cli_txt_list_add_word(&p2p_groups, s + 1, ' ');
 		return;
 	}
 
@@ -3760,7 +3758,7 @@  static void cli_event(const char *str)
 		s = os_strchr(start, ' ');
 		if (s == NULL)
 			return;
-		cli_txt_list_del_word(&p2p_groups, s + 1);
+		cli_txt_list_del_word(&p2p_groups, s + 1, ' ');
 		return;
 	}
 #endif /* CONFIG_P2P */
@@ -4031,7 +4029,7 @@  static void update_networks(struct wpa_ctrl *ctrl)
 			break;
 		*end = '\0';
 		if (!header)
-			cli_txt_list_add_word(&networks, pos);
+			cli_txt_list_add_word(&networks, pos, '\t');
 		header = 0;
 		pos = end + 1;
 	}