Безопасно ли передавать в ippsFree нулевой указатель?

Документ Intel описывает только переданный ptr, который должен указывать на пространство, выделенное из ippsMalloc. Он ничего не говорит о том, что произошло, если мы передадим в него нулевой указатель.

void ippsFree(void* ptr);

ptr Указатель на блок памяти, который нужно освободить. Блок памяти, на который указывает ptr, выделяется функцией ippsMalloc.

Это безопасно, как если бы free / delete принимал нулевой указатель? или это не определено?


person Chen OT    schedule 24.09.2015    source источник
comment
Что ж, в конечном итоге вам придется спросить информацию об этом, но было бы, ИМХО, было бы довольно глупо предоставлять альтернативные реализации _1 _ / _ 2_ с семантикой, отличной от стандартной библиотеки, без явного документирования этого. Так что моя догадка - это безопасно.   -  person    schedule 24.09.2015
comment
На самом деле я столкнулся с проблемой, когда пытаюсь зарегистрироваться в Intel Developer Zone для публикации на форуме, поэтому я пишу здесь. Может у кого-то может быть такой же вопрос, как у меня. Боюсь, что в ippsFree есть дополнительная обработка, предполагающая, что ptr не равен нулю.   -  person Chen OT    schedule 24.09.2015
comment
В этом примере кода на сайте Intel используется ippsFree для освобождения двух указателей при выделении по крайней мере, один из них не удалось найти NULL. Таким образом, согласно этому примеру, можно безопасно передать NULL.   -  person M Oehm    schedule 24.09.2015
comment
Если официальный пример демонстрирует, как выделять / освобождать память, как это, может быть безопасно передать нулевой указатель внутрь. Спасибо!   -  person Chen OT    schedule 24.09.2015
comment
Почему бы просто не попробовать это в простой программе. Если он плохо себя ведет, значит, это небезопасно.   -  person cup    schedule 24.09.2015
comment
Хорошо на моей платформе не значит хорошо на другой платформе. Может быть, мне просто повезло, что на моем тестовом кейсе не произошел сбой.   -  person Chen OT    schedule 25.09.2015


Ответы (1)


Рассматривая разборку функции ippsFree, функции проверяют аргумент (указатель) при входе. Использование NULL-указателя безопасно.

person agmonm    schedule 29.02.2016