[错误] 签名整数溢出 (链接索引和邻居格坐标): 当 maxLinkCount 为 0x80000000 时, maxLinkCount-1 会发生下溢 (CWE-190)
int main(int argc, char** argv) { for (int i = 1; i < argc; ++i) { FILE* f = fopen(argv[i], "rb"); if (!f) return 2; fseek(f, 0, SEEK_END); long n = ftell(f); rewind(f); std::vector<unsigned char> buf((size_t)n); fread(buf.data(), 1, (size_t)n, f); fclose(f); dtNavMesh mesh; dtNavMeshParams params; memset(¶ms, 0, sizeof(params)); params.tileWidth = 1.0f; params.tileHeight = 1.0f; params.maxTiles = 8; params.maxPolys = 64; dtStatus is = mesh.init(¶ms); printf("=== %s (%ld B) init=%08x ", argv[i], n, is); unsigned char* b = (unsigned char*)malloc(n); memcpy(b, buf.data(), n); dtTileRef result = 0; dtStatus st = mesh.addTile(b, (int)n, 0, 0, &result); printf("addTile=%08x result=%08x\n", st, result); free(b); } return 0;
内容来源: recastnavigation/recastnavigation