mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-07 09:33:51 +00:00
fix: resolve all GitHub CodeQL security/quality alerts
Fix 9 integer-multiplication-cast-to-long warnings across 6 files: - wmo_renderer.cpp: grid cell count and height variance calculation - composite_renderer.cpp: overlay tile grid allocation - vk_texture.cpp: image size calculation (width*height*bpp) - m2_renderer.cpp: collision grid cell allocation - character_renderer.cpp: normal map buffer and height variance - world_entry_callback_handler.cpp: tile reserve count All fixes cast operands to size_t/double before multiplication to prevent integer overflow when dimensions are large.
This commit is contained in:
parent
d773109b50
commit
67f4097e74
6 changed files with 9 additions and 9 deletions
|
|
@ -548,7 +548,7 @@ std::unique_ptr<VkTexture> CharacterRenderer::generateNormalHeightMap(
|
|||
if (!vkCtx_ || width == 0 || height == 0) return nullptr;
|
||||
|
||||
// Use the CPU-only static method, then upload to GPU
|
||||
std::vector<uint8_t> dummy(width * height * 4);
|
||||
std::vector<uint8_t> dummy(static_cast<size_t>(width) * static_cast<size_t>(height) * 4);
|
||||
std::memcpy(dummy.data(), pixels, dummy.size());
|
||||
auto result = generateNormalHeightMapCPU("", std::move(dummy), width, height);
|
||||
outVariance = result.variance;
|
||||
|
|
@ -585,7 +585,7 @@ CharacterRenderer::NormalMapResult CharacterRenderer::generateNormalHeightMapCPU
|
|||
float h = 0.299f * r + 0.587f * g + 0.114f * b;
|
||||
heightMap[i] = h;
|
||||
sumH += h;
|
||||
sumH2 += h * h;
|
||||
sumH2 += static_cast<double>(h) * static_cast<double>(h);
|
||||
}
|
||||
double mean = sumH / totalPixels;
|
||||
result.variance = static_cast<float>(sumH2 / totalPixels - mean * mean);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue