170 похожих чатов

Парни, такой вопрос. Прохожу отладчиком по коду(ниже описал, где происходит

проблема):

bool RC4::encrypt_decrypt(std::vector<uint8_t>& msg)
{
if (msg.empty())
return false;

std::copy(m_S.begin(), m_S.end(), std::back_inserter(m_cpy_S)); // и вот сюда отладчик возвращается несколько раз.

unsigned int i{}; //после чего эта переменная принимает большое значение и я выхожу за границы вектора.
for (; i < msg.size(); ++i)
{
++m_Q1;
m_Q2 += m_cpy_S[m_Q1];

m_cpy_S[m_Q1] ^= m_cpy_S[m_Q2];
m_cpy_S[m_Q2] ^= m_cpy_S[m_Q1];
m_cpy_S[m_Q1] ^= m_cpy_S[m_Q2];

msg[i] ^= m_cpy_S[((m_cpy_S[m_Q1] + m_cpy_S[m_Q2]) % 256)];
}
m_Q1 = 0, m_Q2 = 0, m_cpy_S.clear();
return true;
}

Почему отладчик проходит двара раза по copy? И почему i принимает огромное значение?

4 ответов

16 просмотров

релиз или дебаг?

Gabriel- Автор вопроса
Gabriel
Релиз.

в релизе отладчик может показывать чушь из-за оптимизаций, проверяй в дебаге

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта