제품명 | InnoRules | 버그번호 | BIR2100010 |
---|---|---|---|
제목 | 룰 내용에 상수가 많고 OR 연산자를 많이 사용한 조건식이 존재하는 경우 간헐적으로 룰 실행 오류가 발생하는 현상 | ||
현상 | 룰 내용에 다음과 같은 룰 문법이 포함되어 있을때 간헐적으로 룰 실행 오류가 발생함 1. 아주 많은 상수를 사용하고 2. 하나의 조건식에서 OR 연산자를 많이 사용한 조건식이 존재하며 예 ) [항목] = "1" OR [항목] ="2" OR [항목] = "3" OR [항목] = "4" OR [항목] = "5" OR [항목] = "6" OR [항목] = "7" ... OR [항목] = "36" 3. OR 연산자를 많이 사용한 조건식 이전에 수행된 다른 조건식이 많은 경우 다음과 같은 경우에는 오류 발생하지 않음 1. 하나의 조건식에 단순한 조건을 사용한 경우 2. 하나의 조건식이 복잡하게 구성되었더라도 룰 내용에 상수가 많지 않거나 이전에 수행된 조건식이 적은 경우 |
||
분석결과 | 상수와 OR 조건을 함께 사용하는 경우 룰 실행 시 잘못된 인덱스를 참조하여 발생한 오류 픽스를 권장하나 다음과 같이 룰 내용을 변경하면 우회가 가능함 1. 조건식을 OR 연산식을 사용하지 않는 [항목] = ( "1", "2", "3", .. , "36" ) 의 형태로 변경 2. 하나의 조건식에서 OR 연산식을 많이 사용하지 않도록 여러개의 조건식으로 분리 |
||
우회방법 | 없음 | ||
영향받는버전 | innorulesj.jar 7.2.0.0 ~ 7.2.1.4, innorulesj.jar 7.3.0.0 | 픽스버전 | innorulesj.jar 7.2.1.5, innorulesj.jar 7.3.0.1 |
접수일자 | 2021-12-17 | 처리일자 | 2021-12-17 |