} else if (strncmp(token, "miss=",5) == 0) {
- char *end;
if (mark) {
+ char *end = nullptr;
if (!xstrtoui(&token[5], &end, &markMiss, 0, std::numeric_limits<nfmark_t>::max())) {
throw TextException(ToSBuf("Bad mark miss value ", &token[5]), Here());
}
+ Assure(end);
if (*end == '/') {
if (!xstrtoui(end + 1, nullptr, &markMissMask, 0, std::numeric_limits<nfmark_t>::max())) {
debugs(3, DBG_CRITICAL, "ERROR: Bad mark miss mask value " << (end + 1) << ". Using 0xFFFFFFFF instead.");
markMissMask = 0xFFFFFFFF;
}
} else {
+ char *end = nullptr;
unsigned int v = 0;
if (!xstrtoui(&token[5], &end, &v, 0, std::numeric_limits<tos_t>::max())) {
throw TextException(ToSBuf("Bad TOS miss value ", &token[5]), Here());
}
tosMiss = (tos_t)v;
+ Assure(end);
if (*end == '/') {
if (!xstrtoui(end + 1, nullptr, &v, 0, std::numeric_limits<tos_t>::max())) {
debugs(3, DBG_CRITICAL, "ERROR: Bad TOS miss mask value " << (end + 1) << ". Using 0xFF instead.");