char* output = (char*) malloc(33);
prepareKeys()
на следующий код:for (int i = 0; i < 7; i++) {
keys[i] = (char*) malloc(128);
for (int j = 0; j < 128; j++) keys[i][j] = 48;
}
ck_str
по ходу алгоритма постоянно обновляется (там идёт присвоение нового адреса указателю), а original_key
- нет. Так что это точно не ошибка. Хотя может быть, реализовано коряво. например на каждой итерации цикла.