我有一个功能
void *custom_get_value(ObjectPtr)
此函数传统上从不用于返回 NULL。它可以返回以下任何值
uint32_t
int32_t
uint64_t
int64_t
uint8_t
由于该函数从未用于返回 NULL 我有很多代码
*(uint32_t*)custom_get_value(ObjectPtr)
OR
*(uint64_t*)custom_get_value(ObjectPtr)
最近我们决定修改
void *custom_get_value(ObjectPtr) in such a way that it can return NULL.So all occourances of the above scenario (de-referencing to specific types without checking the return value) can result in segmentation fault.
我可以使用一些宏来识别代码中返回值的所有位置吗
void *custom_get_value(ObjectPtr)
没有被检查。如果是,我该怎么做?