История однострочных багов

Компания Apple недавно допустила
крупную ошибку
, забыв удалить лишнюю строчку с оператором безусловного перехода 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);
}


Читать дальше →


 Источник:Хабрахабр, Информационная безопасность