【问题标题】:winverifytrust memory leakwinverifytrust 内存泄漏
【发布时间】:2014-08-11 23:19:33
【问题描述】:

我对 winverifytrust 的目录签名有疑问。我们正在使用 winverifytrust 并且在调用之后我们不调用 WTD_ACTION_STATE_CLOSE,我们仅在 hWVTStateData 不为 NULL 时调用它。我们看到的是系统内存消耗持续飙升

消费上升,然后稳定下来,一段时间后再次上升,然后在更长的时间后再次上升,金额更大。我们认为这可能是目录签名信任 API 完成的内部缓存的副作用。有人可以帮助确认行为

  1. 这是预期的行为吗?

  2. 我们对 API 的使用(不是无条件调用 STATE_ACTION_CLOSE 正确吗?)

  3. 内部缓存是否以这种方式运行,如果是这样,它是否会达到缓存大小不会超过某个限制的稳定状态,是否可以预测该限制?

仅供参考:我也查看了主题Memory Leak while verifying Authenticode Signature of Executables?,那里的讨论没有结论性且与目录签名无关,因此提出了新问题

【问题讨论】:

    标签: windows memory-leaks winverifytrust


    【解决方案1】:

    http://msdn.microsoft.com/en-us/library/windows/desktop/aa388205%28v=vs.85%29.aspx

    释放之前使用 WTD_STATEACTION_VERIFY 操作分配的 hWVTStateData 成员。 必须为每次使用 WTD_STATEACTION_VERIFY 操作指定此操作。

    【讨论】:

    • 文档是模棱两可的,它声明释放先前使用 WTD_STATEACTION_VERIFY 操作分配的 hWVTStateData 成员,如果 hWVTStateData 为 NULL,则没有理由调用它。我认为它需要被调用,但文档需要重新访问
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 2013-01-20
    • 2011-10-31
    • 2019-08-10
    • 2013-06-24
    • 2011-03-22
    • 2015-04-20
    相关资源
    最近更新 更多