わかりました、これはわかりません。デバッガーは、この特定の例外に関する多くの情報を提供していません。
呼び出される関数は次のとおりです。
NC_LIBEXPORT(VOID) ncKeyExpand(unsigned char* key, int initlen)
{
int abspos = initlen;
int curkpos = 0;
do
{
key[abspos] = key[curkpos];
++abspos;
++curkpos;
if(curkpos >= initlen)
curkpos = 0;
} while (curkpos < NC_KEY_MAX_LENGTH);
}
そして、アクセス違反はここの2行目で発生します。
unsigned char apkey[NC_KEY_MAX_LENGTH];
ncKeyExpand(&apkey[0], NC_PRIV_KEY_LENGTH);
なぜこれが起こっているのかについての洞察はありますか?私がすることはそれを修正することではありません。
Test Application.exeの0x776e7094で未処理の例外:0xC0000005:
それが正確なエラーです。
アクセス違反。
ポインタがアクセスできないアドレスを指している場合、たとえば、解放されているか、スコープ外であるか、nullである場合など、アクセス違反はありませんか?もしそうなら、なぜそれはここで育てられているのですか?char配列はすぐそこにあります。