- if (found_set->m_record_cache.lookup(odr, &npr_res,
- *req->resultSetStartPoint,
- *req->numberOfRecordsRequested,
- req->preferredRecordSyntax,
- req->recordComposition))
+ // record_cache.lookup types are int's. Avoid non-fitting values
+ if (*req->resultSetStartPoint > 0
+ && *req->resultSetStartPoint < INT_MAX
+ && *req->numberOfRecordsRequested > 0
+ && *req->numberOfRecordsRequested < INT_MAX
+ && found_set->m_record_cache.lookup(odr, &npr_res,
+ *req->resultSetStartPoint,
+ *req->numberOfRecordsRequested,
+ req->preferredRecordSyntax,
+ req->recordComposition))