На этой странице перечислены наши «трофеи», то есть ошибки в исходном коде программных пакетов, обнаруженные при помощи инструментов Безопасного компилятора (компиляторов SAFEC и Safelang).
Жизненный цикл «трофея» можно разбить на две стадии:
- Обнаружение — анализ диагностики Безопасного компилятора, составление и отправка отчёта о потенциальной ошибке, подтверждение ошибки от разработчиков пакета.
- Исправление — подготовка патча с исправлением ошибки, отправка патча на ревью, интеграция патча в пакет как новый коммит или серию коммитов.
Содержание
safec 🔗
Опции кодогенерации 🔗
Здесь представлены ошибки, обнаруженные благодаря включённым в компиляторе SAFEC опциям кодогенерации, в частности -fno-delete-null-pointers-checks и -fwrapv-pointer.
| Пакет | Обнаружение | Исправление | |||
|---|---|---|---|---|---|
| Статус | Версия | Статус | Версия | Коммит | |
|
oniguruma
Опции кодогенерации:
-fno-delete-null-pointers-checks, -Warray-bounds. |
Подтверждено | 6.9.8 | Исправлено | 6.9.9 | e6aef5e4 |
|
vala
Опции кодогенерации:
-fno-delete-null-pointers-checks. |
Ожидание ответа | 0.56.18 | |||
|
open-iscsi
Опции кодогенерации:
-fwrapv-pointer, -Wformat-overflow. |
Подтверждено | 2.1.6 | Исправлено | 2.1.8 | 8c6d7bc2 |
|
ulogd
Опции кодогенерации:
-fwrapv-pointer, -fno-delete-null-pointer-checks, -Warray-bounds. |
Подтверждено | 2.0.7 | Исправлено независимо | 2.0.8 | 6709f6b5 |
Предупреждения -Warray-bounds 🔗
Здесь представлены срабатывания предупреждения -Warray-bounds. Предупреждение поддерживается исходным компилятором GCC, в версии SAFEC оно слегка доработано.
| Пакет | Обнаружение | Исправление | |||
|---|---|---|---|---|---|
| Статус | Версия | Статус | Версия | Коммит | |
| firefox | Подтверждено | 103.0 | Исправлено | 104.0 | b34b6b9a |
| cciss_vol_status | Подтверждено | 1.12 | Исправлено независимо | 1.12a | — |
| testdisk | Подтверждено | 7.1 | Исправлено | 7.2 | 0ae7969c |
| strongswan | Подтверждено | 5.9.6 | Исправлено | 5.9.8 | 47fd5ab6 |
| libxml2 | Подтверждено | 2.9.14 | Исправлено | 2.11.0 | d7a334f2 |
Предупреждения -Wextra-array-bounds 🔗
Здесь представлены срабатывания предупреждения -Wextra-array-bounds, которое реализует более строгие проверки по сравнению с -Warray-bounds. Предупреждение новое в SAFEC.
| Пакет | Обнаружение | Исправление | |||
|---|---|---|---|---|---|
| Статус | Версия | Статус | Версия | Коммит | |
| clamav |
Подтверждено
Отчёт с ошибкой опубликован в пакете ClamAV, источник же ошибки вскрылся в пакете UnRAR. |
0.103.2 | Исправлено | 1.2.0 | 6e5db6ea |
| unrar | 5.9.2 | Исправлено | 6.2.3 | 2ecab6bb | |
Предупреждения -Wclobbered 🔗
Здесь представлены срабатывания предупреждения -Wclobbered. Предупреждение значительно доработано по сравнению с исходной версией в GCC, улучшена точность и полнота проверки.
| Пакет | Обнаружение | Исправление | |||
|---|---|---|---|---|---|
| Статус | Версия | Статус | Версия | Коммит | |
| openjpeg | Подтверждено | 2.4.0 | Исправлено независимо | 2.5.0 | f0629cb1 |
| openrc | Подтверждено | 0.42.1 | Исправлено независимо | 0.45 | 8b247dd5 |
| pigz | Подтверждено | 2.4 | Исправлено независимо | 2.6 | c9de6c53 |
| freetype | Подтверждено | 2.12.1 | Исправлено | 2.13.0 | 8aac6a23 |
| postgres | Подтверждено | 15.2 | Исправлено | 17.0 | a8b74246 |
Санитайзер returns-twice 🔗
Санитайзер returns-twice реализует динамическую проверку отсутствия неопределённого поведения в функциях, возвращающих управление более одного раза (таких как setjmp(3) или vfork(2)).
| Пакет | Обнаружение | Исправление | |||
|---|---|---|---|---|---|
| Статус | Версия | Статус | Версия | Коммит | |
| emacs | Подтверждено | 29.4 | Исправлено независимо | — | 2169a938 |
| mmh |
Не опубликовано
Пакет является заброшенным форком nmh, в котором код с ошибкой больше не используется. |
0.4 | |||
safelang 🔗
Опция кодогенерации -ftrivial-auto-var-init=zero 🔗
Здесь представлены ошибки, обнаруженные благодаря включённой в компиляторе Safelang на этапе кодогенерации опции -ftrivial-auto-var-init=zero.
| Пакет | Обнаружение | Исправление | |||
|---|---|---|---|---|---|
| Статус | Версия | Статус | Версия | Коммит | |
| apr | Ожидание ответа | 1.7.4 | |||
Fortify-хедеры 🔗
Здесь представлены ошибки, обнаруженные благодаря используемому в Safelang механизму fortify-хедеров.
| Пакет | Обнаружение | Исправление | |||
|---|---|---|---|---|---|
| Статус | Версия | Статус | Версия | Коммит | |
| dqlite | Ожидание ответа | 1.16.0 | Ожидание ответа | — | — |
| ngspice | Подтверждено | 42 | Исправлено | 44 | 59808690 |
Variadic-санитайзер 🔗
Variadic-санитайзер обнаруживает во время выполнения неопределённое поведение, связанное с передачей аргументов в variadic-функции.
| Пакет | Обнаружение | Исправление | |||
|---|---|---|---|---|---|
| Статус | Версия | Статус | Версия | Коммит | |
| c-dvar | Подтверждено | 1.1.0 | Исправлено | — | 1421780b |
| gegl | Подтверждено | 0.4.48 | Исправлено | 0.4.50 | 51d6fe4c |
| grilo | Ожидание ответа | 0.3.16 | Ожидание ответа | — | — |
| janet | Подтверждено | 1.34.0 | Исправлено | 1.37.0 | 5e443cd2 |
| libmesode |
Не опубликовано
Пакет является заброшенным форком libstrophe. |
0.10.1 | |||
| libsoup | Подтверждено | 3.4.4 | Исправлено | 3.6.1 | c3ac4697 |
| libstrophe | Подтверждено | 0.13.1 | Исправлено | 0.14.0 | 5690c4ed |
| lilv | Подтверждено | 0.24.24 | Исправлено независимо | 0.24.26 | eaeeee7a |
| mimalloc | Подтверждено | 2.1.6 | Исправлено | 2.1.8 | c59b0cd7 |
| mruby | Подтверждено | 3.3.0 | Исправлено | 3.4.0 | 52176600 |
| redis |
Не опубликовано
Redis 7.x, начиная с версии 7.3, не является свободным ПО по определению Open Source Initiative (OSI). Соответствующее исправление отправлено в Valkey (см. ниже) — форк Redis со свободной лицензией. |
7.2.5 | |||
| curl | Подтверждено | 8.8.0 | Исправлено | 8.11.0 | 7ca164fa |
| ell | Подтверждено | 0.65 | Исправлено | 0.72 | 709bde1b |
| fish |
Не опубликовано
Начиная с версии 4.0.0, пакет портирован на Rust. |
3.7.1 | |||
| openssl | Подтверждено | 3.3.1 | Исправлено | 3.3.3 | e702b4f2 |
| tpm2-openssl | Подтверждено | 1.2.0 | Исправлено | 1.3.0 | 46bb34e6 |
| valkey | Подтверждено | 7.2.5 | Исправлено | 8.1.0 | 43b50261 |
Санитайзер returns-twice 🔗
Здесь представлены ошибки, обнаруженные санитайзером returns-twice из поставки Safelang.
| Пакет | Обнаружение | Исправление | |||
|---|---|---|---|---|---|
| Статус | Версия | Статус | Версия | Коммит | |
| libgd | Ожидание ответа | 2.3.3 | Ожидание ответа | — | — |
| p11-kit | Подтверждено | 0.25.5 | Исправлено | — | 01408e26 |
| ruby | Подтверждено | 3.3.6 | Исправлено | — | a6aaeb9a |
| ruby | Ожидание ответа | 3.3.6 | Ожидание ответа | — | — |