aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBen Woodward <benjamindwoodward@gmail.com>2020-06-07 10:02:44 -0700
committerGitHub <noreply@github.com>2020-06-07 10:02:44 -0700
commitac25489c2b5ac02ed4ebd4501eb176466b8d2ea6 (patch)
tree38d8e2f3518d24daf362b8ab065ab6a3a8b71b48 /src
parent72ace876ca9117297b85adf8f3dec80197fba9da (diff)
:bug: Escape special chars (#6)
Escapes special characters `";,:\` Fixes #3
Diffstat (limited to 'src')
-rw-r--r--src/components/Card.js20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/components/Card.js b/src/components/Card.js
index 2373b26..dfe804f 100644
--- a/src/components/Card.js
+++ b/src/components/Card.js
@@ -7,8 +7,26 @@ const Card = () => {
7 const [password, setPassword] = useState(''); 7 const [password, setPassword] = useState('');
8 const [qrvalue, setQrvalue] = useState(''); 8 const [qrvalue, setQrvalue] = useState('');
9 9
10 const escape = (v) => {
11 const needsEscape = ['"', ';', ',', ':', '\\'];
12
13 let escaped = '';
14 for (let i = 0; i < v.length; i++) {
15 let c = v[i];
16 if (needsEscape.includes(c)) {
17 c = '\\' + c;
18 }
19 escaped += c;
20 }
21
22 return escaped;
23 }
24
10 useEffect(() => { 25 useEffect(() => {
11 setQrvalue(`WIFI:T:WPA;S:${ssid};P:${password};;`); 26 let _ssid = escape(ssid),
27 _password = escape(password);
28
29 setQrvalue(`WIFI:T:WPA;S:${_ssid};P:${_password};;`);
12 }, [ssid, password]); 30 }, [ssid, password]);
13 31
14 return ( 32 return (