c-treeACE SQL could crash or hang if a query contained a large number of INNER JOINS with criteria based on equality. The SQL optimizer has logic to check join predicates and when two predicates share a common value for EQUALs, the OPTIMIZER can infer additional EQUALs. If we have join predicates like P1=P4 and P6=P4 (with any valid terms commutation like P1=P4 and P4=P6) the OPTIMIZER infers P1=P6.
Logic has been corrected to ensure that the number of predicates does not exceed the maximum size allotted for the list of all predicates.