Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562

IsBadReadPtr, IsBadWritePtr

04.12.2012, 09:34. Показов 2145. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <windows.h>
#include <iostream>
#include <fstream>
int main ()
{
 char d[2][16]={"false", "true"};
 int *p=NULL;
 bool r;
 bool w;
 std::ofstream result;
 result.open("result.txt");
 r=IsBadReadPtr(p, sizeof(int));
 w=IsBadWritePtr(p, sizeof(int));
 std::cout<<d[r]<<", "<<d[w]<<", "<<(void*)p<<"."<<std::endl;
 p=new int;
 r=IsBadReadPtr(p, sizeof(int));
 w=IsBadWritePtr(p, sizeof(int));
 std::cout<<d[r]<<", "<<d[w]<<", "<<(void*)p<<"."<<std::endl;
 delete p;
 r=IsBadReadPtr(p, sizeof(int));
 w=IsBadWritePtr(p, sizeof(int));
 std::cout<<d[r]<<", "<<d[w]<<", "<<(void*)p<<"."<<std::endl;
 return 0;
}
, вложен скрин.
Миниатюры
IsBadReadPtr, IsBadWritePtr  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.12.2012, 09:34
Ответы с готовыми решениями:

Как написать аналог IsBadReadPtr()?
Здравствуйте! Я хочу реализовать проверку указанного мною адреса на предмет безопасности чтения памяти оттуда. Проверка будет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.12.2012, 09:34  [ТС]
Почему проверка невалидного указателя даёт false на обе функции?
0
841 / 350 / 68
Регистрация: 20.11.2012
Сообщений: 824
04.12.2012, 09:54
Имхо потому, что удаленный указатель (пометка в куче) совсем не означает, что вся страница памяти становится недоступна.Вероятно, IsBadReadPtr и т.п. смотрят атрибуты страницы.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.12.2012, 10:39  [ТС]
То есть проверить непосредственно адрес нельзя?

Добавлено через 1 минуту
Что самое смешное, туда действительно прошла запись и оттуда всё прочиталось. Подозреваю системную дыру.
0
841 / 350 / 68
Регистрация: 20.11.2012
Сообщений: 824
04.12.2012, 10:58
Цитата Сообщение от taras atavin Посмотреть сообщение
Что самое смешное, туда действительно прошла запись и оттуда всё прочиталось. Подозреваю системную дыру.
Никакой особой дыры тут нет. Память для кучи процесса выделяется блоками кратными размеру страницы. Так что максимум можно повредить кучу своего процесса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru