diff --git a/wireguard_config.cpp b/wireguard_config.cpp index 1c13e60..ecf17fc 100644 --- a/wireguard_config.cpp +++ b/wireguard_config.cpp @@ -271,8 +271,10 @@ static bool ContainsNonAsciiCharacter(const char *buf, size_t size) { return false; } -bool ParseWireGuardConfigString(WireguardProcessor *wg, char *buf, size_t buf_size, DnsResolver *dns_resolver) { +bool ParseWireGuardConfigString(WireguardProcessor *wg, const char *bufin, size_t buf_size, DnsResolver *dns_resolver) { char group[32] = {0}; + std::string buf2 = bufin; + char *buf = &buf2[0]; WgFileParser file_parser(wg, dns_resolver); diff --git a/wireguard_config.h b/wireguard_config.h index 7ba57ca..113daf2 100644 --- a/wireguard_config.h +++ b/wireguard_config.h @@ -15,7 +15,7 @@ private: static void HandleConfigurationProtocolGet(WireguardProcessor *proc, std::string *result); }; -bool ParseWireGuardConfigString(WireguardProcessor *wg, char *buf, size_t buf_size, DnsResolver *dns_resolver); +bool ParseWireGuardConfigString(WireguardProcessor *wg, const char *buf, size_t buf_size, DnsResolver *dns_resolver); bool ParseWireGuardConfigFile(WireguardProcessor *wg, const char *filename, DnsResolver *dns_resolver);