私には機能があります
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)
はチェックされていません。はいの場合、どうすればよいですか?