ColdFusion 2018 修补程序 12 或 13 是否破坏了查询的查询?

wha*_*ver 5 coldfusion

在我的代码中,我有一个查询查询,如下所示:

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

最近我从 CF 2018 修补程序 11 更新到修补程序 13。现在我收到此错误:

MESSAGE     getColumnType()
TYPE        coldfusion.runtime.CfErrorWrapper 
Run Code Online (Sandbox Code Playgroud)

另外,在代码中的不同位置,我还有另一个“查询的查询”,如下所示:

42 | <cfquery name="abc2" dbtype="query">
43 |   select * from someQueryVar2 where someColumn is not null
44 | </cfquery>
Run Code Online (Sandbox Code Playgroud)

我在第 42 行收到此错误:

java.lang.ArrayIndexOutOfBoundsException:索引 45 超出长度 45 的范围

这没有任何意义。

我在互联网上找不到任何有关它的信息。

从修补程序 11 到 13 是否存在与查询的查询相关的一些重大更改?

Mig*_*l-F 11

ColdFusion 2018 Update 12ColdFusion 2021 Update 2 破坏了一些查询功能。这是一个已知问题,已报告给 Adob​​e。他们(非正式)发布了针对此问题的补丁。不幸的是,由于 log4J 漏洞利用的紧迫性,他们没有包含 ColdFusion 2018 Update 13ColdFusion 2021 Update 3 的补丁。

为此已提交了几张票。以下是一些:

CF-4212425
CF-4212580
CF-4212600

请注意,此票证包含 ColdFusion 2018 和 ColdFusion 2021 的补丁。

CF-4212383

我将在此处提供补丁的链接,以供其他人查找。请务必使用适合您的版本的正确版本。您可能需要注册并登录错误跟踪器才能访问这些内容。

hf201800-4212383.jar

hf202100-4212383.jar

Adobe 在该票证上的说明:

请找到随附的 CF2018 和 CF2021 补丁。

应用补丁的步骤-

  • 下载该文件,将其重命名为 hf201800-4212383.jar(CF2018)或 hf202100-4212383.jar(CF2021)。
  • 将文件放入\cfusion\lib\updates
  • 重新启动 CF 服务器。

评论者:Aayushi R.

显然,您应该首先将它们应用到非生产服务器并进行测试。