0

调用malloc返回一个指向与已分配的内存重叠的内存块的指针make_shared。我正在构建一个 FUSE 客户端,malloc 调用在 FUSE 库中,但我不确定这是否相关。我无法在我的程序之外重现该错误,而且我不知道下一步该做什么。shared_ptr直到由 管理的对象中的指针被损坏然后被使用,Valgrind 才发现任何错误。

4

1 回答 1

0

此错误是创建 a shared_ptrwith new,然后将其类型转换为 aweak_ptr并删除它的结果。我必须对它进行类型转换,因为我使用的是 C 库(FUSE)并将其传递给 a 的指针weak_ptr,并且它提供了 auint64_t来存储句柄。然后该库调用我的函数并向它们传递一个包含指针类型转换为uint64_t.

于 2013-04-21T00:45:32.730 回答