The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Проект OpenBSD представил LibreSSL, форк OpenSSL"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "Проект OpenBSD представил LibreSSL, форк OpenSSL" +1 +/
Сообщение от pavlinux (ok), 23-Апр-14, 06:13 
> это зависит от реализации libc, кстати. Так что может делать, а может и не делать.

В двух словах: запись проверяется чтением, остальное, - это догадки и вероятности.

---

http://freshbsd.org/commit/openbsd/a16f3e233f31088ac03b372e0...

Ну здипец полный:


if (len != 0) { // len - это long, т.е. знаковый. А если -1, то ниже код будет malloc(0), что вполне нормально. А если -2 ???  
        s = malloc((int)len + 1); // Уапрос: у маллока аргумент size_t, для кого long приводят к int?
        if (s == NULL) {
            i = ERR_R_MALLOC_FAILURE;
            goto err;
        }
        memcpy(s, p, (int)len); // а чо мемцпу не проверяем?
        s[len]='\0'; // Уапрос, нах...я выделяли (len + 1)? C++ники?
        p += len;
    } else
        s = NULL;

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Проект OpenBSD представил LibreSSL, форк OpenSSL, opennews, 22-Апр-14, 10:34  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру