Used read length (and suppress warning)

This commit is contained in:
Jonathan Adamczewski 2014-03-23 23:07:40 -07:00
parent 88484cbd7d
commit 1d05c18c00
6 changed files with 39 additions and 11 deletions

View File

@ -174,8 +174,12 @@ bool InputGeom::load(rcContext* ctx, const char* filePath)
fclose(fp); fclose(fp);
return false; return false;
} }
fread(buf, bufSize, 1, fp); size_t readLen = fread(buf, bufSize, 1, fp);
fclose(fp); fclose(fp);
if (readLen != 1)
{
return false;
}
m_offMeshConCount = 0; m_offMeshConCount = 0;
m_volumeCount = 0; m_volumeCount = 0;

View File

@ -150,9 +150,14 @@ bool rcMeshLoaderObj::load(const char* filename)
fclose(fp); fclose(fp);
return false; return false;
} }
fread(buf, bufSize, 1, fp); size_t readLen = fread(buf, bufSize, 1, fp);
fclose(fp); fclose(fp);
if (readLen != 1)
{
return false;
}
char* src = buf; char* src = buf;
char* srcEnd = buf + bufSize; char* srcEnd = buf + bufSize;
char row[512]; char row[512];

View File

@ -312,8 +312,8 @@ bool FileIO::write(const void* ptr, const size_t size)
bool FileIO::read(void* ptr, const size_t size) bool FileIO::read(void* ptr, const size_t size)
{ {
if (!m_fp || m_mode != 2) return false; if (!m_fp || m_mode != 2) return false;
fread(ptr, size, 1, m_fp); size_t readLen = fread(ptr, size, 1, m_fp);
return true; return readLen == 1;
} }

View File

@ -285,7 +285,12 @@ dtNavMesh* Sample_TileMesh::loadAll(const char* path)
// Read header. // Read header.
NavMeshSetHeader header; NavMeshSetHeader header;
fread(&header, sizeof(NavMeshSetHeader), 1, fp); size_t readLen = fread(&header, sizeof(NavMeshSetHeader), 1, fp);
if (readLen != 1)
{
fclose(fp);
return 0;
}
if (header.magic != NAVMESHSET_MAGIC) if (header.magic != NAVMESHSET_MAGIC)
{ {
fclose(fp); fclose(fp);
@ -314,14 +319,19 @@ dtNavMesh* Sample_TileMesh::loadAll(const char* path)
for (int i = 0; i < header.numTiles; ++i) for (int i = 0; i < header.numTiles; ++i)
{ {
NavMeshTileHeader tileHeader; NavMeshTileHeader tileHeader;
fread(&tileHeader, sizeof(tileHeader), 1, fp); readLen = fread(&tileHeader, sizeof(tileHeader), 1, fp);
if (readLen != 1)
return 0;
if (!tileHeader.tileRef || !tileHeader.dataSize) if (!tileHeader.tileRef || !tileHeader.dataSize)
break; break;
unsigned char* data = (unsigned char*)dtAlloc(tileHeader.dataSize, DT_ALLOC_PERM); unsigned char* data = (unsigned char*)dtAlloc(tileHeader.dataSize, DT_ALLOC_PERM);
if (!data) break; if (!data) break;
memset(data, 0, tileHeader.dataSize); memset(data, 0, tileHeader.dataSize);
fread(data, tileHeader.dataSize, 1, fp); readLen = fread(data, tileHeader.dataSize, 1, fp);
if (readLen != 1)
return 0;
mesh->addTile(data, tileHeader.dataSize, DT_TILE_FREE_DATA, tileHeader.tileRef, 0); mesh->addTile(data, tileHeader.dataSize, DT_TILE_FREE_DATA, tileHeader.tileRef, 0);
} }

View File

@ -106,8 +106,12 @@ bool TestCase::load(const char* filePath)
fclose(fp); fclose(fp);
return false; return false;
} }
fread(buf, bufSize, 1, fp); size_t readLen = fread(buf, bufSize, 1, fp);
fclose(fp); fclose(fp);
if (readLen != 1)
{
return false;
}
char* src = buf; char* src = buf;
char* srcEnd = buf + bufSize; char* srcEnd = buf + bufSize;

View File

@ -247,7 +247,7 @@ bool imguiRenderGLInit(const char* fontpath)
FILE* fp = fopen(fontpath, "rb"); FILE* fp = fopen(fontpath, "rb");
if (!fp) return false; if (!fp) return false;
fseek(fp, 0, SEEK_END); fseek(fp, 0, SEEK_END);
int size = ftell(fp); size_t size = ftell(fp);
fseek(fp, 0, SEEK_SET); fseek(fp, 0, SEEK_SET);
unsigned char* ttfBuffer = (unsigned char*)malloc(size); unsigned char* ttfBuffer = (unsigned char*)malloc(size);
@ -257,8 +257,13 @@ bool imguiRenderGLInit(const char* fontpath)
return false; return false;
} }
fread(ttfBuffer, 1, size, fp); size_t readLen = fread(ttfBuffer, 1, size, fp);
fclose(fp); fclose(fp);
if (readLen != size)
{
return false;
}
fp = 0; fp = 0;
unsigned char* bmap = (unsigned char*)malloc(512*512); unsigned char* bmap = (unsigned char*)malloc(512*512);