Похожие чаты

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 ответов

12 просмотров

amazing

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

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

This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
есть ПО, которое лежит папкой, по сути и не инсталится, а просто запускается. Надо раскидать по машинам в домене. Я так понял, что прям настройками GPO, копировать я смогу тол...
Dmitriy
8
any reference of this implementation?
BitBuddha
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Привет)) уже кажется эту тему перемусолили, но вот я так и не понял. Я сейчас сижу на 27дюймов 2к мониторе. На Актуальной макоси, если я куплю 27д 4к монитор: - будет ли изобр...
Vladislav Piskunov
16
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Also, why can’t the community have a vote/ say when it comes to initiatives like buybacks. Isn’t the point of crypto decentralisation? Don’t we deserve input as long term supp...
👨🏽‍🦰
13
Карта сайта