Я выполнял анализ stati c с использованием Coverity в проекте, в то время как я столкнулся с этой ошибкой, сообщаемой инструментом:
Dereferencing <storage from new>, which is known to be nullptr
Фрагмент кода:
typedef struct envelope
{
char *message;
void *context;
bool response;
}envelopeRef;
int main()
{
/* here coverity tells that
1. returned_null: operator new returns nullptr (checked 46 out of 52 times)
2. var_assigned: Assigning: <storage from new> = nullptr return value from operator new
3. dereference: Dereferencing <storage from new>, which is known to be nullptr.
*/
envelopeRef *h = new (std::nothrow)envelopeRef();
if(nullptr != h)
{
//do something
delete h;
}
}
Что я здесь не так делаю?