OPENSSL - 分段故障(核心转储)问题

时间:2013-12-09 20:14:33

标签: c++ openssl

我在openssl中将字符串[10000]转换为BIGNUM [10000]时遇到问题。这是我的代码的一部分:

for(i=0;i<10000;i++){
    char * Bchar = new char[Bi[i].size()+1];
    copy(Bi[i].begin(), Bi[i].end(), Bchar);
    Bchar[Bi[i].size()] = '\0';
    BN_dec2bn(&BiNumber[i],Bchar); //PROGRAM CRASH
    delete [] Bchar;
}

启动后 - 分段错误(核心转储)问题 我在UBUNTU 13.10工作。

1 个答案:

答案 0 :(得分:0)

您忘记初始化BINumber

 BIGNUM *BINumber[10000];
 memset(BINumber, 0, sizeof(BINumber));

BN_dec2bn中,如果第一个参数为NULL,则会分配,否则会尝试使用该内存地址。