diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c index da9580e94..23aab4ba9 100644 --- a/wpa_supplicant/config.c +++ b/wpa_supplicant/config.c @@ -438,10 +438,10 @@ static char * wpa_config_write_proto(const struct parse_data *data, int first = 1, ret; char *buf, *pos, *end; - pos = buf = os_zalloc(10); + pos = buf = os_zalloc(20); if (buf == NULL) return NULL; - end = buf + 10; + end = buf + 20; if (ssid->proto & WPA_PROTO_WPA) { ret = os_snprintf(pos, end - pos, "%sWPA", first ? "" : " "); @@ -459,6 +459,14 @@ static char * wpa_config_write_proto(const struct parse_data *data, first = 0; } + if (ssid->proto & WPA_PROTO_OSEN) { + ret = os_snprintf(pos, end - pos, "%sOSEN", first ? "" : " "); + if (ret < 0 || ret >= end - pos) + return buf; + pos += ret; + first = 0; + } + return buf; } #endif /* NO_CONFIG_WRITE */