FirebirdSQL / firebird

Firebird server, client and tools
https://www.firebirdsql.org/
1.22k stars 214 forks source link

SIMILAR TO leads to an infinite loop [CORE6452] #6685

Open firebird-automations opened 3 years ago

firebird-automations commented 3 years ago

Submitted by: Zsombor Cserna (csomb)

The next select statement leads the server to an infinite loop (100% CPU usage):

select   * from   RDB$DATABASE where   '<licenc>         <items>             <item title="CallCenter" value="false"/>             <item title="CRM" value="false"/>             <item title="Securities" value="false"/>             <item title="Credits" value="false"/>             <item title="Registry" value="true"/>             <item title="Campaign" value="true"/>             <item title="Damages" value="false"/>             <item title="Prints" value="false"/>             <item title="Online" value="true"/>          </items>    </licenc>' similar to '%title="_{3,40}" value="true"%'

This is not a real example, but it illustrates well the cause of the error. We can change it so that the error does not occur, but server crash is not acceptable for any reason like this. v2.5* not affected.

====== Test Details ======

min_version = 4.0: SIMILAR-TO uses library 're2' only in FB 4.x

firebird-automations commented 3 years ago
Modified by: @pavel-zotov status: Open \[ 1 \] =\> Open \[ 1 \] QA Status: No test =\> Done successfully Test Details: min\_version = 4\.0: SIMILAR\-TO uses library 're2' only in FB 4\.x