Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Пустые возможно сомнения мои 02.03.05 22:51 Число просмотров: 2636
Автор: void <Grebnev Valery> Статус: Elderman
|
> Проблема (с точки зрения уязвимости) может быть в самой > some_copy_buf_function
Здесь согласен на все сто.
> Уточни, что тебя смущает. Я не вижу проблем в ЭТОМ коде.
Верно ты сказал, что NULL определён как ((void *)0) (хотя не всегда). Верно и то, что компилеры, реализующих стандарт С позволяют неявно приводить типы указателей.
Не помню где ... , но мелькало замечание ГУРей, что дескать нет гарантии, что при использовании "некоторого" компилера (знать бы мне, что за компиллер;)))) код с вызовом некоторой функции, возвращающий, например, char * :
if ( some_copy_buf_function( src, dest, size_data * sizeof(char) ) == NULL )
будет гарантировано эквивалентен для любых платформ и компилеров
if ( (void *) some_copy_buf_function( src, dest, size_data * sizeof(char) ) == NULL )
или
if ( some_copy_buf_function( src, dest, size_data * sizeof(char) ) == (char*) NULL )
где и операции то присваивания нет. Возможно, что в логических выражениях всё работает ровно так, как и в случае присваивания. Мои слабые знания не позволяют сделать такое заключение наверняка.
ПС. Прошу прощения за тупые вопросы. Тем более, что на практике всё работает, как ты говоришь.
|
|
|