Обнаружено повреждение стека C++ при возврате из функции ⇐ C++
-
Гость
Обнаружено повреждение стека C++ при возврате из функции
У меня есть следующая функция, которая работает нормально и выдает ожидаемый результат, но сразу после возврата выдает
*** обнаружено разрушение стека ***: прекращено Прервано (ядро сброшено) Код функции:
bool Derivate_aes_key(const unsigned char*shared_secret, intshared_secret_len, unsigned char* aes_key) { memset(aes_key, 0, AES_KEY_SIZE); беззнаковый символ prk[AES_KEY_SIZE]; // PRK должен быть не менее AES_KEY_SIZE байт без знака int prk_len = AES_KEY_SIZE; // Используйте HMAC для получения псевдослучайного ключа (PRK) из общего секрета HMAC(EVP_sha256(),shared_secret,shared_secret_len, NULL, 0, prk, &prk_len) // Используем PRK в качестве ключа AES memcpy(aes_key, prk, AES_KEY_SIZE); cout
У меня есть следующая функция, которая работает нормально и выдает ожидаемый результат, но сразу после возврата выдает
*** обнаружено разрушение стека ***: прекращено Прервано (ядро сброшено) Код функции:
bool Derivate_aes_key(const unsigned char*shared_secret, intshared_secret_len, unsigned char* aes_key) { memset(aes_key, 0, AES_KEY_SIZE); беззнаковый символ prk[AES_KEY_SIZE]; // PRK должен быть не менее AES_KEY_SIZE байт без знака int prk_len = AES_KEY_SIZE; // Используйте HMAC для получения псевдослучайного ключа (PRK) из общего секрета HMAC(EVP_sha256(),shared_secret,shared_secret_len, NULL, 0, prk, &prk_len) // Используем PRK в качестве ключа AES memcpy(aes_key, prk, AES_KEY_SIZE); cout
Мобильная версия