我有以下代碼:訪問衝突寫入位置
#include <openssl/bn.h>
#include <openssl/rsa.h>
unsigned char* key;
RSA* rsa = RSA_new();
rsa = RSA_generate_key(1024,65537,NULL,NULL);
//init pubkey
key[BN_num_bytes(rsa->n)] = '\0';
BN_bn2bin(rsa->n, key);
printf("RSA Pub: %s\n", key);
RSA_free(rsa);
rsa = NULL;
調試器告訴我,我有一個問題「訪問衝突寫入位置」上線
key[BN_num_bytes(rsa->n)] = '\0';
如果我註釋掉該行的問題只是向下移動到
BN_bn2bin(rsa->n, key);
有關如何解決此問題的任何建議將是巨大的。
關鍵的指針你要分配一些內存呢?如果是這樣key = new char [100]; //一些緩衝區 – JonH 2009-12-02 16:44:50