Как уронить Windows шестью строчками кода
3 мин
См. также: Microsoft исправила уязвимость с синим экраном
Однажды один знакомый рассказал мне про одну уязвимость в Windows. А именно из-за нее можно легко вызвать синий экран


Типизированный язык программирования





struct timeval now;
struct timespec timeout;
gettimeofday(&now, 0);
timeout.tv_sec = now.tv_sec + 2; // 2 sec
timeout.tv_nsec = now.tv_usec * 1000; // nsec
retval=0;
pthread_mutex_lock(&mutex);
while(!somethingHappens() && retval==0)
{
retval=pthread_cond_timedwait(&condition, &mutex, &timeout);
}
pthread_mutex_unlock(&mutex);
Вот и отгремело первое апреля. Кто-то в этот день нюхал свои девайсы в новом сервисе Google Nose, кто-то играл в «Поле чудес», а кто-то, позабыв о роковой дате, просто угрюмо отряхивал спину от мела…Часовую и минутную стрелки я оставил в правильном направлении. Иногда всё же приходится полгядывать на часы в трее — пусть они показывают время с точностью хотя бы до минуты...
// Аллоцируем ресурс в блоке.
{
ha::scoped_resource<void*, size_t> mem(::malloc, 1, ::free);
::memset(mem, 65, 1);
}

| Печатается | Означает |
|---|---|
1.#INF |
Положительная бесконечность |
-1.#INF |
Отрицательная бесконечность |
1.#SNAN |
Положительное сигнальное не-число (signaling NaN) |
-1.#SNAN |
Отрицательное сигнальное не-число (signaling NaN) |
1.#QNAN |
Положительное несигнальное не-число (quiet NaN) |
-1.#QNAN |
Отрицательное несигнальное не-число (quiet NaN) |
1.#IND |
Положительная неопределённость |
-1.#IND |
Отрицательная неопределённость |


Нет, здесь не будет ничего из серии «Аааа, я сделал malloc (new), и забыл сделать free (delete)!»