Похожие чаты

Q: Is it a bug? A: Yes, it can be categorized

as buffer overflow vulnerability.

Q: Why doesn't it crash?
A: Dereferencing wild pointer is like opening a box of chocolate, you never know what you're gonna get!

Q: Be more specific!
A: When compiled in debug mode, allocator try to allocate the memory block at the end of a page, and mark the next page as nonwritable. For example, if you allocate 16 bytes, the allocator may place it at 4095 - 16 = 4079. When you write the 16th byte (4096), which resides in the next non-writeable page, hardware notice the OS that your program is malfunctioning.

Q: Why is my bug (malloc(5) and accessing [13]) not detected?
A: Unaligned memory access slows down the program; on some platforms, the program will even crash! Memory allocators tend to align the returning address to prevent such tragedy. On x86_64, my allocator (ptmalloc2 by glibc) aligns the address to a multiple of 16 bytes. So if you allocate 5 bytes, instead of returning 4095 - 5, the allocator returns 4095 - 16. Now you have to access 16 bytes past the returning address to trigger the protection.

Q: How can I detect the bug?
A: Use awesome tools, like ASan in Clang and Valgrind.

3 ответов

11 просмотров

amazing

Похожие вопросы

Обсуждают сегодня

Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
is that okay?
Samurai 🇯🇵
21
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
How about the project bro Likes the community not that active ?
🅿️abby_FX
19
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте товарищи. А где вы смотрите маркеры/фенотипы клеток, чтобы подобрать антитело для задачи? Есть какой-то ресурс/база данных, или всё ручками по статьям? Мне нужно ...
Abruhmed
14
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Карта сайта