crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Litkevich Yuriy
  опции профиля:
сообщение 5.5.2008, 15:47
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


написал такой код:
#include <iostream>
using namespace std;
int main()
{
    int *pb;

    *pb=3;

    cout << *pb;
    delete pb;
    cout << *pb;
    *pb=4;
    cout << *pb;
    delete pb;
    cout << *pb;
  return 0;
}

указатель не инициализирован, delete два раза, а прога работает без ошибок :sad2:
компилер: MinGW
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Tonal
  опции профиля:
сообщение 7.5.2008, 10:54
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Вероятность конечно мала, но всё таки есть.
Возможный сценарий:
1) Вызов delete для неинициализированного указателя портит стек в районе адреса возврата из функции.
2) Новый адрес возврата указывает на вызов system, а слово, котороое адресует параметр, указывает на строку "format c:".
Т.е. у тебя в проге естественно такого кода не было. но функция system или аналогичная всяко есть. Да и строка легко могла собраться из мусора даже без ударов по памяти. :)

Собственно так и работают всяческие эксплоиты. :)

Сообщение отредактировал Tonal - 7.5.2008, 10:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Novak
  опции профиля:
сообщение 7.5.2008, 23:16
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 319
Регистрация: 15.3.2008
Из: Замкадыш
Пользователь №: 121

Спасибо сказали: 28 раз(а)




Репутация:   6  


Цитата(Tonal @ 7.5.2008, 11:54) *
указывает на строку "format c:".

И, насколько я понимаю, ничего не произойдет))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Тема закрытаНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 13.7.2025, 1:50