From: Remi Gacogne Date: Mon, 20 Nov 2023 15:49:51 +0000 (+0100) Subject: Get rid of the pointer arithmetic in `RecordTextReader::xfrName()` X-Git-Tag: rec-5.0.0-rc1~27^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=91471f5cd93dcee946fd2362dfa7c997bbb55a6c;p=thirdparty%2Fpdns.git Get rid of the pointer arithmetic in `RecordTextReader::xfrName()` --- diff --git a/pdns/rcpgenerator.cc b/pdns/rcpgenerator.cc index 7ff9a7be76..6a4569100c 100644 --- a/pdns/rcpgenerator.cc +++ b/pdns/rcpgenerator.cc @@ -255,16 +255,19 @@ void RecordTextReader::xfrName(DNSName& val, bool, bool) skipSpaces(); DNSName sval; - const char* strptr=d_string.c_str(); string::size_type begin_pos = d_pos; while (d_pos < d_end) { - if (strptr[d_pos]!='\r' && dns_isspace(strptr[d_pos])) { + if (d_string[d_pos]!='\r' && dns_isspace(d_string[d_pos])) { break; } d_pos++; } - sval = DNSName(std::string(strptr+begin_pos, strptr+d_pos)); + + { + std::string_view view(d_string); + sval = DNSName(view.substr(begin_pos, d_pos - begin_pos)); + } if (sval.empty()) { sval = d_zone;