Рубріки: Новини

WhatsApp скоротили на 50 000 рядків, переписавши частину коду C++ на Rust

Дмитро Сімагін

Фахівці Meta перенесли значну частину коду WhatsApp з мови програмування C++ на більш безпечну Rust. Замінили понад 160 000 рядків коду в критично важливій частині програми — обробці медіафайлів. Це дозволило не тільки суттєво скоротити код, але й знизити в сервісі небезпеку помилок управління пам’яттю.

Проблема з’явилась ще в 2015 році, коли спеціалісти компанії виявили, що кросплатформна бібліотека C++, яка розроблена WhatsApp для надсилання та послідовного форматування файлів MP4 (так звана «wamedia»), може бути модифікована для виявлення файлів, які не відповідають стандарту MP4. Це може викликати помилки на стороні одержувача.

Замість поступового переписування, в Meta розробили версію wamedia на Rust паралельно з оригінальною версією на C++. Потім було вирішено повністю переписати медіабібліотеку, паралельно підтримуючи дві реалізації — на C++ і на Rust.

Зрештою, компанія замінила 160 000 рядків C++ (без урахування тестів) на 90 000 рядків Rust (включно з тестами). Версія Rust продемонструвала переваги в продуктивності та використанні пам’яті під час виконання порівняно з C++. WhatsApp додав такі засоби захисту, як CFI, посилені розподільники пам’яті, безпечніші API обробки буферів тощо.

Нагадаємо, два тижні тому керівництво Meta ухвалило рішення припинити підтримку Workrooms — віртуальних просторів для віддаленої роботи.

Останні статті

Лінус Торвальдс написав інструкцію, що робити з Linux, якщо з ним щось станеться

Лінус Торвальдс додав в ядро Linux файл Project continuity — коміт з планом дій, якщо…

29.01.2026

«Не відкривайте жодних архівів RAR»: архіватор WinRAR знову використовують для атак на українських користувачів

Компанія Google попередила, що широко відома вразливість архіватора файлів WinRAR для Windows, яку раніше вже…

29.01.2026

ФБР закрило форум російських кіберзлочинців RAMP

Фахівці ФБР США отримали контроль та закрили сумнозвісний форум російських кіберзлочинців RAMP. Ця платформа використовувалась…

29.01.2026

Автор «вайб-кодингу» прогнозує «слопокаліпсис» — лавину низькоякісного згенерованого коду на GitHub

Відомий ентузіаст штучного інтелекту та екс-дослідник OpenAI Андрей Карпати заявив, що всього за три місяців…

29.01.2026

83% індійських IT-працівників страждають від вигорання. Кожен четвертий працює понад 70 годин на тиждень

Індійську IT-галузь, в якій працює понад 5 мільйонів людей, накрила хвиля самогубств та масові звільнення,…

28.01.2026

Агент кодування Mistral Vibe 2.0 став більш точним, але подорожчав

Французька компанія Mistral AI оновила свій термінальний агент кодування Mistral Vibe до версії 2.0. Інструмент,…

28.01.2026