Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++ Bug] побазарим о другом ? 24.07.01 14:23 Число просмотров: 871
Автор: c0x@mail.ru Статус: Незарегистрированный пользователь
|
парадигма проста, как яйца:
1. объект должен защищать себя сам от кривого использования. И желательно на стадии компиляции при помощи семантики.
2. никаких рискованых преобразований типов.
3. runtime внутренняя проверка обьектом как минимум существования физ. области памяти где он по мнению this находится, желательно также и мемберов по мере обращения к ним.
> 1) > > > > > > > > IsBadCodePtr > > > > > > > > IsBadReadPtr > > > > > > > > IsBadWritePtr > > 2) > > > > > > int main()
> > > {
> > > int array[100];
> > > int *ptr = array;
> > > if (IsBadWritePtr(ptr, 102) != 0)
> > > printf("It is not safe to write data at
> index
> > > 101");
> > > else
> > > printf("It is safe to write data at index
> 101");
> > > ptr[101] = 20;
> > > return 0;
> > > }
> > > ---
> > > кстати, я его прогнал на Win2K, VC++ 6.0. вот > > результат > > > после выхода из main : > > > First-chance exception in test.exe: 0xC0000005: > Access > > > Violation. > > ну блин, похоже вы с XR ничего так и не поняли ;(((( > > не мы не поняли :) ... какое отношение считывание атрибута > защиты страницы памяти cм. п1 может помочь ситуации > описанной в п 2. > > PS: > > Я бы рекомендовал почитать > man mprotect до просветления
|
|
|