«Злоумышленник-убийца» для распределителей памяти?

Прочитав этот вопрос о кажущемся вырожденном поведении распределителя памяти Windows и вспомнив эту статью о построении входных данных для наихудшего случая для реализаций быстрой сортировки, я начал задаваться вопросом: а будет ли Можно ли создать программу, которая при наличии распределителя памяти черного ящика заставляет этот распределитель отказывать в запросе на выделение, даже если в системе все еще доступно достаточное количество памяти? То есть, можно ли взять распределитель памяти черного ящика и заставить его выйти из строя?

Я знаю, что это, вероятно, можно сделать, выделив и освободив память в шахматном порядке, чтобы вызвать массивную фрагментацию, поэтому, на мой взгляд, Идеальное решение могло бы вызвать сбой с наименьшим общим количеством байтов, выделенных на момент сбоя. Что касается исходного сообщения, которое вдохновило на это, Теоретически возможно вызвать сбой с выделением нулевых байтов, если в распределителе памяти есть внутренняя ошибка.

Есть идеи / мысли о том, как это сделать?

17
задан Community 23 May 2017 в 10:29
поделиться