Search code examples
coldfusion

Did ColdFusion 2018 hotfixes 12 or 13 break query of queries?


In my code I have a query of query, something like this:

<cfset someQueryVar = someComponent.getSomeQuery()>
<!--- ... --->
<cfquery name="abc" dbtype="query">
    select * from someQueryVar 
    ...

Recently I updated from CF 2018 hotfix 11 to hotfix 13. Now I get this error:

MESSAGE     getColumnType()
TYPE        coldfusion.runtime.CfErrorWrapper 

Also in a different place in code I have another "query of query" like so:

42 | <cfquery name="abc2" dbtype="query">
43 |   select * from someQueryVar2 where someColumn is not null
44 | </cfquery>

and here I get this error on line 42:

java.lang.ArrayIndexOutOfBoundsException: Index 45 out of bounds for length 45

which does not make any sense.

I am not able to find any information about it on internet.

Were there some breaking changes from hotfix 11 to 13 related to query of queries?


Solution

  • ColdFusion 2018 Update 12 and ColdFusion 2021 Update 2 broke some query of query functionality. This is a known issue and has been reported to Adobe. They have (unofficially) released a patch for this issue. Unfortunately, because of the urgency with the log4J exploit, they did NOT include the patch with ColdFusion 2018 Update 13 nor ColdFusion 2021 Update 3.

    Several tickets have been submitted for this. Here are a few:

    CF-4212425
    CF-4212580
    CF-4212600

    Note that this ticket includes the patches for both ColdFusion 2018 and ColdFusion 2021.

    CF-4212383

    I will include links to the patches here for others to find. Be sure to use the correct one for your version. You will likely need to be registered and logged into the bug Tracker to access these.

    hf201800-4212383.jar

    hf202100-4212383.jar

    Instructions from Adobe on that ticket:

    Please find the patch for CF2018 and CF2021 attached.

    Steps to apply the patch-

    • Download the file, rename it to hf201800-4212383.jar for CF2018 or hf202100-4212383.jar for CF2021.
    • Place the file indside \cfusion\lib\updates
    • Restart CF server.

    Comment by Aayushi R.

    Obviously you should apply these to non-production servers first and test.