gpt4 book ai didi

c 在 MAC OS X 上调用 DH_generate_key 例程时出现 openssl 校验和错误

转载 作者:太空宇宙 更新时间:2023-11-04 04:51:19 24 4
gpt4 key购买 nike

首先,我不确定这是一个特定的平台错误。我正在使用 openssl 库生成大质数和私钥/公钥。当质数相对较小(128 位)时它运行良好,但当质数变大(256、512 位)时我无法编译并出现错误。

DH * params = DH_new(); 
params = DH_generate_parameters(512, 5, NULL, NULL);

DH_generate_key(params); // can't get through this point when prime bits getting bigger

上面的代码产生了一个错误:

 malloc: *** error for object 0x7ffba8403c88: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug

我在 MAC OX 10.8.2 上使用 openssl 1.0.1。如果有任何建议,我将不胜感激。

更新:产生此类错误的另一种方法是在上述代码之前创建一个线程。无论哪种方式,它总是在子例程 DH_generate_key 中给我错误。

最佳答案

与堆损坏相关的错误消息(例如来自 malloc() 的这条消息)表明您存在内存管理错误,例如在释放内存后使用内存,或超出分配的内存。此类 malloc() 错误消息出现在与实际编程错误发生的位置不同的位置是正常的。在 Valgrind 中运行您的应用程序以获取有关问题所在的一些有用信息。

与错误无关,但您在上面的这两行代码中存在内存泄漏:

DH * params = DH_new(); 
params = DH_generate_parameters(512, 5, NULL, NULL);

指向分配的DH 结构的指针在第二行中被DH_generate_parameters() 返回的新DH 结构覆盖。 DH_new() 分配的缓冲区丢失。但这不是错误消息的原因。

关于c 在 MAC OS X 上调用 DH_generate_key 例程时出现 openssl 校验和错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14844640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com