В большинстве браузеров обнаружена серьезная утечка памяти при загрузке изображений с определенными опциями

В базе данных ошибок браузера Chromium появилась новая запись, касающаяся серьезной утечки памяти.

При загрузке изображения с параметром Cache-Control: no-store, браузер должен получить изображение, а затем освободить используемую память. На практике же происходит совсем по другому. Тестовое изображение, которое занимает всего 22 кб, использует 1000 кб памяти (приблизительно в 50 раз больше), которая браузером не высвобождается. При загрузке большого количества таких картинок, количество свободной оперативной памяти начинает заметно снижаться.

Для проверки ошибки была создана специальная страница, которая циклически грузит одну и ту же картинку. При этом этом в запущенном менеджере задач можно видеть как пропадает свободная память в системе и увеличивается размер браузера.

На Chromium треккере написано, что ошибка проявляется лишь в Firefox 4+, Safari 5, Chrome 9+ (более ранние версии не тестировались). Microsoft IE не подвержен данной уязвимости, причем не только в последней девятой версии, но также в восьмой и седьмой. В базе ошибок, а также на тестовой странице ничего не говорится о браузере Opera, однако нам самостоятельно удалось выяснить, что он не подвержен найденной ошибке и высвобождает память при загрузке изображения.