История однострочных багов
крупную ошибку
, забыв удалить лишнюю строчку с оператором безусловного перехода goto посередине функции SSLVerifySignedServerKeyExchange для проверки серверной подписи при установке SSL-соединения. В результате, функция успешно завершала работу, независимо от результата проверки подписи.
Однако, это не первый случай в истории, когда критическая ошибка объясняется единственной строчкой кода. Вот ещё
несколько таких примеров
.
X Server
В 2006 году было обнаружено, что X Server проверяет рутовые права у пользователя, но при этом разработчики в реальности
забыли вызвать соответствующую функцию
.
--- hw/xfree86/common/xf86Init.c
+++ hw/xfree86/common/xf86Init.c
@@ -1677,7 +1677,7 @@
}
if (!strcmp(argv[i], "-configure"))
{
- if (getuid() != 0 && geteuid == 0) {
+ if (getuid() != 0 && geteuid() == 0) {
ErrorF("The -configure option can only be used by root.\n");
exit(1);
}
Читать дальше →
Источник:Хабрахабр, Информационная безопасность