[Xapian-tickets] [Xapian] #824: Out-of-bounds array access on table open if root info level is corrupt

Xapian nobody at xapian.org
Wed Jan 17 21:03:08 GMT 2024


#824: Out-of-bounds array access on table open if root info level is corrupt
---------------------------+-------------------------------
 Reporter:  group13        |             Owner:  Olly Betts
     Type:  defect         |            Status:  reopened
 Priority:  normal         |         Milestone:  1.4.25
Component:  Backend-Glass  |           Version:  1.4.24
 Severity:  normal         |        Resolution:
 Keywords:                 |        Blocked By:
 Blocking:                 |  Operating System:  All
---------------------------+-------------------------------
Changes (by Olly Betts):

 * status:  closed => reopened
 * resolution:  fixed =>

Comment:

 > This may be easier to reproduce with a test file that is wildly out of
 range rather than just out of range.

 FWIW my logic for picking the first "just wrong" value was to catch if the
 check added to the code was at the wrong threshold.

 Your reasoning looks correct, but I'm surprised CI didn't catch this as it
 runs a build (and the testsuite) using ubsan.  I can see valgrind not
 spotted a small overrun as there are members after this array in the class
 and valgrind works on already compiled code so likely only sees the
 allocated block, but ubsan should be able to add checks based on the
 actual members.

 It'd be helpful to provide your test input when reporting these sort of
 bugs...
-- 
Ticket URL: <https://trac.xapian.org/ticket/824#comment:3>
Xapian <https://xapian.org/>
Xapian


More information about the Xapian-tickets mailing list