An unhandled exception occurred when a SQL query read records from a variable-length table using conditions that triggered an internal conditional expression to be used. A record buffer is generally allocated based on the size of a record that was previously read from the file, and this is expected. c-treeACE logic detects any insufficient record buffer size and returns an indication that the record buffer is too small such that the caller can allocate a sufficiently-sized record buffer and re-read the record. However, the conditional expression logic that determines how many complete fields from the record the record buffer can contain did not detect the case that the final field in the record only partially fits into the record buffer. To correct this, when the starting offset of the last field fits into the record buffer, this logic also checks that the end of the last field also fits into the record buffer avoiding the buffer overrun.