zlib库压缩后解压时访问异常

//解压文件  MAX_FILE_SIZE 6M - 文件大小一般为1.6M
//path 为路径
//len为压缩文件的大小
FILE* fp1 = NULL;  
if(fopen_s(&fp1, path, "rb") != 0)
{
    int  errnow = GetLastError();
    return -3;
}
unsigned char*  pBufferSrc = new unsigned char[MAX_FILE_SIZE];  
unsigned char*  pBufferDes = new unsigned char[MAX_FILE_SIZE];  
//置零  
memset(pBufferSrc, 0, MAX_FILE_SIZE);  
memset(pBufferDes, 0, MAX_FILE_SIZE);  
//读取整个文件到缓冲区  
fread(pBufferSrc, sizeof(unsigned char), MAX_FILE_SIZE-1, fp1);  

//会在这里报异常,访问冲突
int nError = uncompress(pBufferDes, &desLen, pBufferSrc, (unsigned long)len);

自己用compress压缩的文件,用uncompress解压时报访问冲突,未处理异常0XC0000005

http://blog.csdn.net/wxq1987525/article/details/7462738

先对比看看。。。。