Логическая ошибка в потребляемости uils coreutils заставляет программу оценивать скобки субэкспрессии во время фазы разбора, а не на этапе …
Логическая ошибка в потребляемости uils coreutils заставляет программу оценивать скобки субэкспрессии во время фазы разбора, а не на этапе выполнения. Этот недостаток реализации предотвращает выполнение утилиты надлежащими короткими замыканиями для логических операций OR (|) и AND (&). В результате арифметические ошибки (такие как разделение на ноль), происходящие в «мертвых» ветвях, ветвях, которые следует игнорировать из-за короткого замыкания, поднимаются как фатальные ошибки. Это расхождение с поведением экспресса GNU может привести к тому, что защищенные выражения в сценариях оболочки потерпят неудачу с жесткими ошибками вместо того, чтобы возвращать ожидаемые результаты булева, что приводит к преждевременному прекращению скрипта и нарушению потока управления оболкой, совместимого с GNU.
Программный продукт содержит условный оператор с несколькими логическими выражениями, одно из которых (не ведущее) может иметь побочные эффекты. Это может привести к непредвиденному состоянию программы после выполнения условного оператора, поскольку логика короткого замыкания может предотвратить возникновение побочных эффектов.
https://cwe.mitre.org/data/definitions/768.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| rust-coreutils | Отслеживается | |
| rust-coreutils | Отслеживается | |
| rust-coreutils | Отслеживается | |
| coreutils | * | Отслеживается |