2018年7月30日 星期一

warning C6011: dereferencing NULL pointer 'Ptr'

#include <stdint.h>

static inline void *DummyPointerConvert (void *Ptr)
{
  return Ptr;
}
#define WA_C6011(type,pointer)   ((type *)(DummyPointerConvert ((void *)(pointer))))
 
void Func()
{
  for (uint8_t *Ptr = (uint8_t *) ( (long) 0xFE000);
#if 0
       Ptr < WA_C6011 (uint8_t, 0x100000);
#else
       Ptr < (uint8_t *) ( (long) 0x100000);   // This line will cause the mark line to generate an warning C6011.
#endif
       Ptr += 0x10) {
#if 0
    if ( (Ptr != nullptr) && (*WA_C6011(uint8_t, Ptr) == 0)) {
#else
    if ( (Ptr != nullptr) && (*Ptr == 0)) {    // warning C6011
#endif
      break;
    }
  }
}
 
int main()
{
  return 0;
}

沒有留言:

張貼留言