diff --git a/src/gfx/gb.c b/src/gfx/gb.c index 22ab2b2f..2391a656 100644 --- a/src/gfx/gb.c +++ b/src/gfx/gb.c @@ -224,7 +224,11 @@ void create_mapfiles(const struct Options *opts, struct GBImage *gb, if (!tile) err(1, "%s: Failed to allocate memory for tile", __func__); - for (i = 0; i < tile_size; i++) { + /* + * If the input image doesn't fill the last tile, + * `gb_i` will reach `gb_size`. + */ + for (i = 0; i < tile_size && gb_i < gb_size; i++) { tile[i] = gb->data[gb_i]; gb_i++; }