Reading Uninitialized Memory
static NOINLINE int Read16(char *buf,int nVar)
{
int v=0;
if(buf) //buf是传过来的指针,指向有一定数据的内存地址
{
v = LOAD16LE(buf); //16进制转换10进制数
if(v > nVar) //nVar假如是32762
v = v - 65535;
return v;
}
else
return 0;
}
用VS里的DevPartner Error Detection插件工具测试,总是提示:Uninitialized Memory Read: Pointer 0x0283D37C (2) refers to uninitialized data in block 0x0283C9D0 (16384) allocated by malloc.
是红色字体部分。
程序运行倒是正常,只想弄清这个buf指针指向的内存需要初始化吗?它已经指向了一块内存了?