From 656603f4396872afd07565a02f5d73bb66885ec2 Mon Sep 17 00:00:00 2001 From: MrLetsplay2003 Date: Sat, 16 Sep 2023 17:03:15 +0200 Subject: [PATCH] Fix possible segfault in Font --- src/kekengine/cpp/render/fonts.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kekengine/cpp/render/fonts.cpp b/src/kekengine/cpp/render/fonts.cpp index 6e9d847..6e2d54d 100644 --- a/src/kekengine/cpp/render/fonts.cpp +++ b/src/kekengine/cpp/render/fonts.cpp @@ -249,9 +249,9 @@ CharacterBlock Font::generateCharacterBlock(unsigned int block) { int row = c / KEK_FONT_BITMAP_WIDTH_BLOCKS; // TODO: handle wide characters more gracefully - for(unsigned int r = 0; r < std::min(64u, face->glyph->bitmap.rows); r++) { + for(unsigned int r = 0; r < std::min((unsigned int) KEK_FONT_RESOLUTION, face->glyph->bitmap.rows); r++) { size_t offset = row * KEK_FONT_RESOLUTION * KEK_FONT_BITMAP_WIDTH + col * KEK_FONT_RESOLUTION + r * KEK_FONT_BITMAP_WIDTH; - size_t len = face->glyph->bitmap.width; + size_t len = glm::min((unsigned int) KEK_FONT_RESOLUTION, face->glyph->bitmap.width); memcpy(textureBytes + offset, face->glyph->bitmap.buffer + r * face->glyph->bitmap.width, len);