这个callstack有什么意义吗?

时间:2015-03-30 16:46:53

标签: windows openssl dr-memory

在我的应用程序上运行dr.memory时,我得到了以下列表,该应用程序使用openssl:

Error #476: UNADDRESSABLE ACCESS beyond heap bounds: reading 4 byte(s)
         KERNELBASE.dll!FlsGetValue   
             ??:0
         MSVCR110.dll!_crtFlsGetValue
             ??:0
         MSVCR110.dll!wcsnlen     
             ??:0
         LIBEAY32.dll!ERR_unload_strings
             ??:0
         LIBEAY32.dll!ERR_load_ERR_strings
             ??:0
         LIBEAY32.dll!ERR_load_crypto_strings
             ??:0
         SSLEAY32.dll!SSL_load_error_strings
             ??:0

现在,有一些奇怪的事情:

  • SSL_load_error_strings不参数。我无法看到它是如何产生内存错误的,因为openSSL是一个广泛使用的库(除非我的进程因堆损坏而已经死亡,当然还有什么)
  • 为什么SSL_load_error_strings会调用ERR_unload_strings?我快速浏览了一下这个来源,但似乎并没有,尽管可能会在某个地方发生一些内联,以至于难以发现,我猜。
  • 为什么wcsnlen会调用_crtFlsGetValue?我无法想象它需要光纤本地存储(我无法看到它会如何,因为我还没有使用光纤......)

基本上,我的问题是,我可以信任dr.memory生成的callstack吗?

0 个答案:

没有答案