The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Перевод материала про написание безопасного код на языке Си"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Перевод материала про написание безопасного код на языке Си"  
Сообщение от opennews (ok) on 05-Ноя-08, 16:16 
Опубликован (http://netsago.org/ru/docs/1/14/) перевод на русский язык цикла статьей David Chisnall "Writing Insecure C", в которых подробно рассматриваются различные аспекты написания безопасного кода на языке программирования C.

URL: http://netsago.org/ru/docs/1/14/
Новость: http://www.opennet.ru/opennews/art.shtml?num=18742

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Перевод материала про написание безопасного код на языке Си"  
Сообщение от pavlinux (ok) on 05-Ноя-08, 16:16 
Ага, и в первом примере ошибки :)

#define MALLOC(x,y) do { y malloc(x); if (!y) abort(1); } while(0)

1. Это что за конструкция "y malloc(x);"  матернётся как error: expected ';' before 'malloc'
2. И как следствие предыдущей - if(!y) будет - warning: statement with no effect
3. У abort() не бывает аргументов!

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

4. "Перевод материала про написание безопасного код на языке Си"  
Сообщение от Аноним (??) on 05-Ноя-08, 17:40 
и 'if(!y)' очень не безопасно.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Перевод материала про написание безопасного код на языке Си"  
Сообщение от pavlinux (ok) on 05-Ноя-08, 16:38 
void * xrealloc(void *ptr, size_t nmemb, size_t size)

{

    void *new_ptr;
    size_t new_size = nmemb * size;
    if (SIZE_T_MAX / nmemb < size)
            return NULL;
return realloc(ptr, new_size);
}

А если использовать вот так???

int main(void){
    char *a;
    xrealloc(a, 0, -1);
}

:)

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

3. "Перевод материала про написание безопасного код на языке Си"  
Сообщение от pavlinux (ok) on 05-Ноя-08, 16:40 
В общем, выкиньте это с Опеннета, пока не исправят!  
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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