Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt 4] openssl, ошибка segmentation fault 
:(
    Опции темы
zayacnk
Дата 17.11.2010, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 11.2.2010

Репутация: нет
Всего: нет



Приведу код.

Код

QByteArray digest;
    QByteArray _plain;
    QByteArray _keybuf;
    QByteArray _ivec;

    unsigned char *keybuf;
    unsigned char *plain;
    unsigned char *ivec;
    unsigned char *encrypted;
    unsigned char *padding;

    int outlen,tmplen;

    digest.clear();
    _plain.append(lineEdit_3->text());
    _keybuf.append(lineEdit->text());
    _ivec.append(lineEdit_2->text());

    plain = reinterpret_cast<unsigned char *>(_plain.data());
    keybuf = reinterpret_cast<unsigned char *>(_keybuf.data());
    ivec = reinterpret_cast<unsigned char *>(_ivec.data());

    EVP_CIPHER_CTX  ctx;
    EVP_CIPHER_CTX_init(&ctx);

    EVP_EncryptInit(&ctx, EVP_bf_cbc(), keybuf, ivec);

    if (!EVP_EncryptUpdate(&ctx, encrypted, &outlen, plain, _plain.count()))
    {
        //error
    }

    for (int i = 0; i < outlen; i++)
        digest.append(encrypted[i]);

    if (!EVP_EncryptFinal(&ctx, padding, &tmplen)){
        //error
    }

    for (int i = 0; i < tmplen; i++)
        digest.append(padding[i]);

    EVP_CIPHER_CTX_cleanup(&ctx);

    lineEdit_3->setText(digest);


Собственно проблема, никак не пойму из-за чего.

Код повешен на кнопку.
Запускаю приложение, ввожу данные, все работает. При повторном нажатие кнопки вылетает Segmentation Fault.
Может кто знает, где зарыта ошибка?
 
Проелывается все в Ubuntu 10.04
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0373 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.