関数内のポインター ptr にポインターを送信しようとしています。ポイント
int ret = funcptrptr(unsigned char** ptr);
funcptrptr() 内で、情報の新しい値を ptrptr に割り当てています。中身まで印刷して印刷してるらしい
この関数呼び出しから戻ると、以下のように ptrptr を p に逆参照しようとしています。
unsigned char* p = *ptr;
これは SIGEGV でクラッシュしています。なんで ?
funcptrptr() 内のコードは次のようになります
*ptrptr = u_build_value(crypted_vector,random_vector);
関数内 u_build_value は、実際には malloc を使用して割り当て、その内容を unsigned char * として返しています。
=========
解決策は、以下の誰かが指摘したように、メモリをptrptr変数に割り当てることでした。出来た。ありがとう 。