/* is it a suffix-byte-range-spec ? */
if (*field == '-') {
- if (!httpHeaderParseOffset(field + 1, &length))
+ if (!httpHeaderParseOffset(field + 1, &length) || !known_spec(length))
return false;
} else
/* must have a '-' somewhere in _this_ field */
debugs(64, 2, "invalid (missing '-') range-spec near: '" << field << "'");
return false;
} else {
- if (!httpHeaderParseOffset(field, &offset))
+ if (!httpHeaderParseOffset(field, &offset) || !known_spec(offset))
return false;
++p;
if (p - field < flen) {
int64_t last_pos;
- if (!httpHeaderParseOffset(p, &last_pos))
+ if (!httpHeaderParseOffset(p, &last_pos) || !known_spec(last_pos))
return false;
// RFC 2616 s14.35.1 MUST: last-byte-pos >= first-byte-pos