If you have multiple WiFi interfaces connecting to "YOUR_SSID", the SSID reported back by nmcli might be named "YOUR_SSID \<N>", where \<N> is replaced by a digit. While this is in general no problem, this SSID isn't properly "sanitized" (or escaped?) by util.sanitizeShellString() which leads to that YOUR_SSID and \<N> gets interpreted as separate arguments when passed to nmcli (nmiConnectionLinux()), which in turn makes the information for "YOUR_SSID" to be wrongfully returned.
To avoid the problem of properly escaping the string, just use the UUID for the connection instead for fetching the information, since that should never contain any harmful characters.
(The argument escape problem can probably be solved also by using spawn/spawnSync(), where arguments can be sent as a list instead, and which also returns stdio and stderr as separate objects. Anyhow, perhaps something for the long awaited version 6.)
If you have multiple WiFi interfaces connecting to "YOUR_SSID", the SSID reported back by nmcli might be named "YOUR_SSID \<N>", where \<N> is replaced by a digit. While this is in general no problem, this SSID isn't properly "sanitized" (or escaped?) by util.sanitizeShellString() which leads to that YOUR_SSID and \<N> gets interpreted as separate arguments when passed to nmcli (nmiConnectionLinux()), which in turn makes the information for "YOUR_SSID" to be wrongfully returned.
To avoid the problem of properly escaping the string, just use the UUID for the connection instead for fetching the information, since that should never contain any harmful characters.
(The argument escape problem can probably be solved also by using spawn/spawnSync(), where arguments can be sent as a list instead, and which also returns stdio and stderr as separate objects. Anyhow, perhaps something for the long awaited version 6.)