Skip to content

Commit 39a2c9b

Browse files
committed
fixed: null-terminated strings
1 parent 74234c1 commit 39a2c9b

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

examples/Settings/MultiWiFi/SinricProWiFiSettings.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ void SinricProWiFiSettings::begin() {
1818

1919
void SinricProWiFiSettings::updatePrimarySettings(const char* newSSID, const char* newPassword) {
2020
if (isValidSetting(newSSID, newPassword)) {
21-
strncpy(wifiSettings.primarySSID, newSSID, sizeof(wifiSettings.primarySSID));
22-
strncpy(wifiSettings.primaryPassword, newPassword, sizeof(wifiSettings.primaryPassword));
21+
strlcpy(wifiSettings.primarySSID, newSSID, sizeof(wifiSettings.primarySSID));
22+
strlcpy(wifiSettings.primaryPassword, newPassword, sizeof(wifiSettings.primaryPassword));
2323
saveToFile();
2424
} else {
2525
Serial.println("Invalid Primary SSID or Password");
@@ -28,8 +28,8 @@ void SinricProWiFiSettings::updatePrimarySettings(const char* newSSID, const cha
2828

2929
void SinricProWiFiSettings::updateSecondarySettings(const char* newSSID, const char* newPassword) {
3030
if (isValidSetting(newSSID, newPassword)) {
31-
strncpy(wifiSettings.secondarySSID, newSSID, sizeof(wifiSettings.secondarySSID));
32-
strncpy(wifiSettings.secondaryPassword, newPassword, sizeof(wifiSettings.secondaryPassword));
31+
strlcpy(wifiSettings.secondarySSID, newSSID, sizeof(wifiSettings.secondarySSID));
32+
strlcpy(wifiSettings.secondaryPassword, newPassword, sizeof(wifiSettings.secondaryPassword));
3333
saveToFile();
3434
} else {
3535
Serial.println("Invalid Secondary SSID or Password");
@@ -75,10 +75,10 @@ bool SinricProWiFiSettings::loadFromFile() {
7575
void SinricProWiFiSettings::saveDefaultSettings() {
7676
Serial.println("Saving default WiFi login!");
7777

78-
strncpy(wifiSettings.primarySSID, defaultPrimarySSID, sizeof(wifiSettings.primarySSID));
79-
strncpy(wifiSettings.primaryPassword, defaultPrimaryPassword, sizeof(wifiSettings.primaryPassword));
80-
strncpy(wifiSettings.secondarySSID, defaultSecondarySSID, sizeof(wifiSettings.secondarySSID));
81-
strncpy(wifiSettings.secondaryPassword, defaultSecondaryPassword, sizeof(wifiSettings.secondaryPassword));
78+
strlcpy(wifiSettings.primarySSID, defaultPrimarySSID, sizeof(wifiSettings.primarySSID));
79+
strlcpy(wifiSettings.primaryPassword, defaultPrimaryPassword, sizeof(wifiSettings.primaryPassword));
80+
strlcpy(wifiSettings.secondarySSID, defaultSecondarySSID, sizeof(wifiSettings.secondarySSID));
81+
strlcpy(wifiSettings.secondaryPassword, defaultSecondaryPassword, sizeof(wifiSettings.secondaryPassword));
8282

8383
saveToFile();
8484
}

examples/Settings/MultiWiFi/SinricProWiFiSettings.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
class SinricProWiFiSettings {
1212
public:
1313
struct wifi_settings_t {
14-
char primarySSID[32]; ///< Primary SSID of the WiFi network.
15-
char primaryPassword[64]; ///< Primary password of the WiFi network.
16-
char secondarySSID[32]; ///< Secondary SSID of the WiFi network.
17-
char secondaryPassword[64]; ///< Secondary password of the WiFi network.
14+
char primarySSID[32+1]; ///< Primary SSID of the WiFi network.
15+
char primaryPassword[64+1]; ///< Primary password of the WiFi network.
16+
char secondarySSID[32+1]; ///< Secondary SSID of the WiFi network.
17+
char secondaryPassword[64+1]; ///< Secondary password of the WiFi network.
1818
};
1919

2020
/**

0 commit comments

Comments
 (0)