https://issues.apache.org/bugzilla/show_bug.cgi?id=45440

           Summary: Incorrect size calculation in InstructionFinder
           Product: BCEL
           Version: 5.2
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Main
        AssignedTo: bcel-dev@jakarta.apache.org
        ReportedBy: [EMAIL PROTECTED]


In InstructionFinder class, line 229 size of the matched pattern is calculated
as

int lenExpr = (endExpr - startExpr) + 1;

this is incorrect as endExpr is always given as one past the last index and
this function causes the iterator being returned to always have one more
instruction then requested. Also this can cause a crash if the pattern
requested is at the end of a search list as index goes out of bounds.

suggested fix (I have it working locally with no problems):

int lenExpr = (endExpr - startExpr);


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to