Skip to content

sdl2-compat not compatable with SDL2 code. Causes false positives on memory leaks.Β #255

@ProgrammingRainbow

Description

@ProgrammingRainbow

System is Archlinux, KDE, X11, AMD ai 9 hx 370 using the 6.13 testing kernel.

Archlinux recently replaced there SDL2 package with SDL2-compat and added SDL3. This seems to have broken all of my SDL2 projects. I compile strict debugging and sanitizer to help to diminish the chance of coding mistakes. Again this seems to have broken all of my projects. So this sdl2-compat is not currently compatible with sdl2 at least not fully. But it seems archlinux no longer has the real sdl2 package.

src/main.h

#ifndef MAIN_H
#define MAIN_H

#include <SDL2/SDL.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>

#define SDL_FLAGS (SDL_INIT_VIDEO | SDL_INIT_AUDIO)

#define WINDOW_TITLE "Tetris"
#define WINDOW_WIDTH 720
#define WINDOW_HEIGHT 600

#endif

src/main.c

#include "game.h"

int main(void) {
    bool exit_status = EXIT_FAILURE;

    struct Game *game = NULL;

    if (game_new(&game)) {
        game_run(game);
        exit_status = EXIT_SUCCESS;
    }

    game_free(&game);

    return exit_status;
}

src/init_sdl.h

#ifndef INIT_SDL_H
#define INIT_SDL_H

#include "game.h"

bool game_init_sdl(struct Game *g);

#endif

src/init_sdl.c

#include "init_sdl.h"

bool game_init_sdl(struct Game *g) {
    if (SDL_Init(SDL_FLAGS)) {
        fprintf(stderr, "Error initializing SDL: %s\n", SDL_GetError());
        return false;
    }

    g->window = SDL_CreateWindow(WINDOW_TITLE, SDL_WINDOWPOS_CENTERED,
                                 SDL_WINDOWPOS_CENTERED, WINDOW_WIDTH,
                                 WINDOW_HEIGHT, 0);
    if (!g->window) {
        fprintf(stderr, "Error creating window: %s\n", SDL_GetError());
        return false;
    }

    g->renderer = SDL_CreateRenderer(g->window, -1, SDL_RENDERER_ACCELERATED);
    if (!g->renderer) {
        fprintf(stderr, "Error creating renderer: %s\n", SDL_GetError());
        return false;
    }

    return true;
}

src/game.h

#ifndef GAME_H
#define GAME_H

#include "main.h"

struct Game {
        SDL_Event event;
        SDL_Window *window;
        SDL_Renderer *renderer;
        bool is_running;
};

bool game_new(struct Game **game);
void game_free(struct Game **game);
void game_run(struct Game *g);

#endif

src/game.c

#include "game.h"
#include "init_sdl.h"

void game_events(struct Game *g);
void game_update(struct Game *g);
void game_draw(const struct Game *g);

bool game_new(struct Game **game) {
    *game = calloc(1, sizeof(struct Game));
    if (*game == NULL) {
        fprintf(stderr, "Error in calloc of new game.\n");
        return false;
    }
    struct Game *g = *game;

    g->is_running = true;

    if (!game_init_sdl(g)) {
        return false;
    }

    return true;
}

void game_free(struct Game **game) {
    if (*game) {
        struct Game *g = *game;

        if (g->renderer) {
            SDL_DestroyRenderer(g->renderer);
            g->renderer = NULL;
        }

        if (g->window) {
            SDL_DestroyWindow(g->window);
            g->window = NULL;
        }

        SDL_Quit();

        g = NULL;

        free(*game);
        *game = NULL;

        printf("all clean!\n");
    }
}

void game_events(struct Game *g) {
    while (SDL_PollEvent(&g->event)) {
        switch (g->event.type) {
        case SDL_QUIT:
            g->is_running = false;
            break;
        case SDL_KEYDOWN:
            switch (g->event.key.keysym.scancode) {
            case SDL_SCANCODE_ESCAPE:
                g->is_running = false;
                break;
            default:
                break;
            }
            break;
        default:
            break;
        }
    }
}

void game_draw(const struct Game *g) {
    SDL_RenderClear(g->renderer);

    SDL_RenderPresent(g->renderer);
}

void game_run(struct Game *g) {
    while (g->is_running) {

        game_events(g);

        game_draw(g);

        SDL_Delay(16);
    }
}

Makefile

TARGET			= tetris
BUILD_DIR		= .build
SRC_DIR			?= src
CC				?= gcc

CFLAGS_BASE     = -std=c11 -Wstrict-aliasing=2 -Wall -Wextra -Werror \
                  -Wpedantic -Wwrite-strings -Wconversion -Wmissing-declarations \
                  -Wmissing-include-dirs -Wfloat-equal -Wsign-compare -Wundef \
                  -Wcast-align -Wswitch-default -Wimplicit-fallthrough \
                  -Wempty-body -Wuninitialized -Wmisleading-indentation \
                  -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wold-style-definition

CFLAGS_RELEASE	= -O3 -march=native -flto=auto -fno-plt -fomit-frame-pointer

CFLAGS_DEBUG 	= -O0 -g3 -ggdb3 -fno-strict-aliasing -fstack-protector-strong \
				  -DDEBUG -fno-omit-frame-pointer

LDLIBS_BASE		=

LDLIBS_RELEASE	= -flto

LDLIBS_DEBUG	=

SRCS			= $(wildcard $(SRC_DIR)/*.c)
OBJS			= $(addprefix $(BUILD_DIR)/, $(notdir $(SRCS:.c=.o)))
DEPS			= $(OBJS:.o=.d)

ifeq ($(OS),Windows_NT)
	PKG_CONFIG := $(shell where pkg-config >NUL 2>&1 && echo "yes" || echo "no")
	CLEAN 		= del /f $(TARGET).exe & if exist $(BUILD_DIR) rmdir /s /q $(BUILD_DIR)
	MKDIR		= if not exist $(BUILD_DIR) mkdir
else
	CFLAGS_DEBUG	+= -fsanitize=address -fsanitize-address-use-after-scope \
					   -ftrapv
	LDLIBS_DEBUG	+= -fsanitize=address -fsanitize-address-use-after-scope
	PKG_CONFIG := $(shell command -v pkg-config >/dev/null 2>&1 && echo "yes" || echo "no")
	CLEAN		= $(RM) -f $(TARGET) && $(RM) -rf $(BUILD_DIR)
	MKDIR		= mkdir -p $(BUILD_DIR)
endif

ifeq ($(PKG_CONFIG),yes)
    CFLAGS_BASE += $(shell pkg-config --cflags sdl2 SDL2_image SDL2_ttf)
    LDLIBS_BASE += $(shell pkg-config --libs sdl2 SDL2_image SDL2_ttf)
else
    $(error "pkg-config is not available. Please install pkg-config.")
endif

CFLAGS		?= $(CFLAGS_BASE) $(CFLAGS_DEBUG)
LDLIBS		?= $(LDLIBS_BASE) $(LDLIBS_DEBUG)

$(BUILD_DIR):
	$(MKDIR)

$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c | $(BUILD_DIR)
	$(CC) $(CFLAGS) -MMD -MP -c $< -o $@

$(TARGET): $(OBJS)
	$(CC) $^ -o $@ $(LDLIBS)

-include $(DEPS)

.PHONY: all clean run rebuild release

all: $(TARGET)

release: CFLAGS = $(CFLAGS_BASE) $(CFLAGS_RELEASE)
release: LDLIBS = $(LDLIBS_BASE) $(LDLIBS_RELEASE)
release: all

clean:
	$(CLEAN)

run: $(TARGET)
	./$<

rebuild: clean all
=================================================================
==3842==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 520 byte(s) in 13 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x701098b525ea  (<unknown module>)
    #2 0x701098b47094  (/home/jeremiah/Tetris/C-SDL2/tetris+0x14094)
    #3 0x70108c386766  (/usr/lib/../lib/libSDL3.so.0+0x186766) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #4 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd40
29a31f8e32)
    #5 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #6 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #7 0x605fa96343ee in game_new Video01/game.c:18
    #8 0x605fa9634b00 in main Video01/main.c:8
    #9 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75a
)
    #10 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #11 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Direct leak of 368 byte(s) in 2 object(s) allocated from:
    #0 0x701099cfd1aa in calloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x701098b40ac3  (/home/jeremiah/Tetris/C-SDL2/tetris+0xdac3)
    #2 0x701098b42bbd  (/home/jeremiah/Tetris/C-SDL2/tetris+0xfbbd)
    #3 0x701098b4d8ce  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1a8ce)
    #4 0x701098b4dac7  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1aac7)
    #5 0x701098b4de20  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1ae20)
    #6 0x701098b4e3ac  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1b3ac)
    #7 0x701098b31e82  (<unknown module>)
    #8 0x701098b46b9f  (/home/jeremiah/Tetris/C-SDL2/tetris+0x13b9f)
    #9 0x701098b33d36  (<unknown module>)
    #10 0x701098b33fdd  (<unknown module>)
    #11 0x701098b342ca  (<unknown module>)
    #12 0x70108c3867b7  (/usr/lib/../lib/libSDL3.so.0+0x1867b7) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #13 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #14 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #15 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #16 0x605fa96343ee in game_new Video01/game.c:18
    #17 0x605fa9634b00 in main Video01/main.c:8
    #18 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #19 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #20 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Direct leak of 368 byte(s) in 2 object(s) allocated from:
    #0 0x701099cfd1aa in calloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x701098b40ac3  (/home/jeremiah/Tetris/C-SDL2/tetris+0xdac3)
    #2 0x701098b42bbd  (/home/jeremiah/Tetris/C-SDL2/tetris+0xfbbd)
    #3 0x701098b4d8ce  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1a8ce)
    #4 0x701098b4dac7  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1aac7)
    #5 0x701098b4de20  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1ae20)
    #6 0x701098b4e3ac  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1b3ac)
    #7 0x701098b31e82  (<unknown module>)
    #8 0x701098b46b9f  (/home/jeremiah/Tetris/C-SDL2/tetris+0x13b9f)
    #9 0x701098b33d36  (<unknown module>)
    #10 0x701098b33fdd  (<unknown module>)
    #11 0x701098b342ca  (<unknown module>)
    #12 0x70108c386786  (/usr/lib/../lib/libSDL3.so.0+0x186786) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #13 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #14 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #15 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #16 0x605fa96343ee in game_new Video01/game.c:18
    #17 0x605fa9634b00 in main Video01/main.c:8
    #18 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #19 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #20 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Direct leak of 184 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd1aa in calloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x701098b40ac3  (/home/jeremiah/Tetris/C-SDL2/tetris+0xdac3)
    #2 0x701098b41948  (/home/jeremiah/Tetris/C-SDL2/tetris+0xe948)
    #3 0x701098b33fbd  (<unknown module>)
    #4 0x701098b342ca  (<unknown module>)
    #5 0x70108c386786  (/usr/lib/../lib/libSDL3.so.0+0x186786) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #6 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd40
29a31f8e32)
    #7 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #8 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #9 0x605fa96343ee in game_new Video01/game.c:18
    #10 0x605fa9634b00 in main Video01/main.c:8
    #11 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #12 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #13 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Direct leak of 38 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x701098b4f345  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c345)
    #2 0x701098b344b2  (<unknown module>)
    #3 0x70108c386786  (/usr/lib/../lib/libSDL3.so.0+0x186786) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #4 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd40
29a31f8e32)
    #5 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #6 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #7 0x605fa96343ee in game_new Video01/game.c:18
    #8 0x605fa9634b00 in main Video01/main.c:8
    #9 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75a
)
    #10 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #11 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Direct leak of 29 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x701098b4f345  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c345)
    #2 0x701098b3467b  (<unknown module>)
    #3 0x70108c386786  (/usr/lib/../lib/libSDL3.so.0+0x186786) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #4 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd40
29a31f8e32)
    #5 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #6 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #7 0x605fa96343ee in game_new Video01/game.c:18
    #8 0x605fa9634b00 in main Video01/main.c:8
    #9 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75a
)
    #10 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #11 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Direct leak of 29 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x701098b4f345  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c345)
    #2 0x701098b346c8  (<unknown module>)
    #3 0x70108c386786  (/usr/lib/../lib/libSDL3.so.0+0x186786) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #4 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd40
29a31f8e32)
    #5 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #6 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #7 0x605fa96343ee in game_new Video01/game.c:18
    #8 0x605fa9634b00 in main Video01/main.c:8
    #9 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75a
)
    #10 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #11 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x701098b57498  (<unknown module>)
    #2 0x701098b41796  (/home/jeremiah/Tetris/C-SDL2/tetris+0xe796)
    #3 0x701098b45b31  (/home/jeremiah/Tetris/C-SDL2/tetris+0x12b31)
    #4 0x701098b33d4d  (<unknown module>)
    #5 0x701098b33fdd  (<unknown module>)
    #6 0x701098b342ca  (<unknown module>)
    #7 0x70108c386786  (/usr/lib/../lib/libSDL3.so.0+0x186786) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #8 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd40
29a31f8e32)
    #9 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #10 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #11 0x605fa96343ee in game_new Video01/game.c:18
    #12 0x605fa9634b00 in main Video01/main.c:8
    #13 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #14 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #15 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Direct leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x70108c31c54e  (/usr/lib/../lib/libSDL3.so.0+0x11c54e) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #2 0x70109a404a1b  (/usr/lib/libSDL2-2.0.so.0+0x1ba1b) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #3 0x70109a4056d7  (/usr/lib/libSDL2-2.0.so.0+0x1c6d7) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #4 0x70109a40576c  (/usr/lib/libSDL2-2.0.so.0+0x1c76c) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #5 0x605fa963489d in game_init_sdl Video01/init_sdl.c:9
    #6 0x605fa96343ee in game_new Video01/game.c:18
    #7 0x605fa9634b00 in main Video01/main.c:8
    #8 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75a
)
    #9 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc12296
052529af22f6a450a75a)
    #10 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Direct leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x70108c31c54e  (/usr/lib/../lib/libSDL3.so.0+0x11c54e) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #2 0x70109a404a1b  (/usr/lib/libSDL2-2.0.so.0+0x1ba1b) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #3 0x70109a4056e7  (/usr/lib/libSDL2-2.0.so.0+0x1c6e7) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #4 0x70109a40576c  (/usr/lib/libSDL2-2.0.so.0+0x1c76c) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #5 0x605fa963489d in game_init_sdl Video01/init_sdl.c:9
    #6 0x605fa96343ee in game_new Video01/game.c:18
    #7 0x605fa9634b00 in main Video01/main.c:8
    #8 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75a
)
    #9 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc12296
052529af22f6a450a75a)
    #10 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 352 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfc542 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x701098b5086d  (<unknown module>)
    #2 0x701098b54c2f  (<unknown module>)
    #3 0x701098b3c8bf  (/home/jeremiah/Tetris/C-SDL2/tetris+0x98bf)
    #4 0x701098b3cbf8  (/home/jeremiah/Tetris/C-SDL2/tetris+0x9bf8)
    #5 0x701098b3d1b6  (/home/jeremiah/Tetris/C-SDL2/tetris+0xa1b6)
    #6 0x701098b3d334  (/home/jeremiah/Tetris/C-SDL2/tetris+0xa334)
    #7 0x701098b412ed  (/home/jeremiah/Tetris/C-SDL2/tetris+0xe2ed)
    #8 0x701098b42768  (/home/jeremiah/Tetris/C-SDL2/tetris+0xf768)
    #9 0x70108c37e965  (/usr/lib/../lib/libSDL3.so.0+0x17e965) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #10 0x70108c38563e  (/usr/lib/../lib/libSDL3.so.0+0x18563e) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #11 0x70108c3858e9  (/usr/lib/../lib/libSDL3.so.0+0x1858e9) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #12 0x70108c34c2b1  (/usr/lib/../lib/libSDL3.so.0+0x14c2b1) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #13 0x70108c32c115  (/usr/lib/../lib/libSDL3.so.0+0x12c115) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #14 0x70108c21b4b7  (/usr/lib/../lib/libSDL3.so.0+0x1b4b7) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #15 0x70108c21b6a4  (/usr/lib/../lib/libSDL3.so.0+0x1b6a4) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #16 0x70109a40347b  (/usr/lib/libSDL2-2.0.so.0+0x1a47b) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #17 0x605fa9634536 in game_free Video01/game.c:39
    #18 0x605fa9634b47 in main Video01/main.c:13
    #19 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #20 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #21 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 320 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfc542 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x701098b5086d  (<unknown module>)
    #2 0x701098b3c3e4  (/home/jeremiah/Tetris/C-SDL2/tetris+0x93e4)
    #3 0x701098b3c8bf  (/home/jeremiah/Tetris/C-SDL2/tetris+0x98bf)
    #4 0x701098b3ccad  (/home/jeremiah/Tetris/C-SDL2/tetris+0x9cad)
    #5 0x701098b3d1b6  (/home/jeremiah/Tetris/C-SDL2/tetris+0xa1b6)
    #6 0x701098b3d334  (/home/jeremiah/Tetris/C-SDL2/tetris+0xa334)
    #7 0x701098b412ed  (/home/jeremiah/Tetris/C-SDL2/tetris+0xe2ed)
    #8 0x701098b42768  (/home/jeremiah/Tetris/C-SDL2/tetris+0xf768)
    #9 0x701098b429df  (/home/jeremiah/Tetris/C-SDL2/tetris+0xf9df)
    #10 0x701098b354af  (<unknown module>)
    #11 0x70108c386f4d  (/usr/lib/../lib/libSDL3.so.0+0x186f4d) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #12 0x70108c35aa61  (/usr/lib/../lib/libSDL3.so.0+0x15aa61) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #13 0x70108c21d63e  (/usr/lib/../lib/libSDL3.so.0+0x1d63e) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #14 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #15 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #16 0x605fa96343ee in game_new Video01/game.c:18
    #17 0x605fa9634b00 in main Video01/main.c:8
    #18 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #19 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #20 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 223 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfc542 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x701098b4f5a6  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c5a6)
    #2 0x701098b4f634  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c634)
    #3 0x701098b5121b  (<unknown module>)
    #4 0x701098b53bdc  (<unknown module>)
    #5 0x701098b3cab4  (/home/jeremiah/Tetris/C-SDL2/tetris+0x9ab4)
    #6 0x701098b412e2  (/home/jeremiah/Tetris/C-SDL2/tetris+0xe2e2)
    #7 0x701098b41edc  (/home/jeremiah/Tetris/C-SDL2/tetris+0xeedc)
    #8 0x701098b33930  (<unknown module>)
    #9 0x701098b33d1b  (<unknown module>)
    #10 0x70108c386fb6  (/usr/lib/../lib/libSDL3.so.0+0x186fb6) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #11 0x70108c35aa61  (/usr/lib/../lib/libSDL3.so.0+0x15aa61) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #12 0x70108c21d63e  (/usr/lib/../lib/libSDL3.so.0+0x1d63e) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #13 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #14 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #15 0x605fa96343ee in game_new Video01/game.c:18
    #16 0x605fa9634b00 in main Video01/main.c:8
    #17 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #18 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #19 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 223 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfc542 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x701098b4f5a6  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c5a6)
    #2 0x701098b4f634  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c634)
    #3 0x701098b5121b  (<unknown module>)
    #4 0x701098b53bdc  (<unknown module>)
    #5 0x701098b3cab4  (/home/jeremiah/Tetris/C-SDL2/tetris+0x9ab4)
    #6 0x701098b412e2  (/home/jeremiah/Tetris/C-SDL2/tetris+0xe2e2)
    #7 0x701098b41edc  (/home/jeremiah/Tetris/C-SDL2/tetris+0xeedc)
    #8 0x701098b33930  (<unknown module>)
    #9 0x701098b33d1b  (<unknown module>)
    #10 0x701098b33fdd  (<unknown module>)
    #11 0x701098b342ca  (<unknown module>)
    #12 0x70108c3867b7  (/usr/lib/../lib/libSDL3.so.0+0x1867b7) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #13 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #14 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #15 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #16 0x605fa96343ee in game_new Video01/game.c:18
    #17 0x605fa9634b00 in main Video01/main.c:8
    #18 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #19 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #20 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 223 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfc542 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x701098b4f5a6  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c5a6)
    #2 0x701098b4f634  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c634)
    #3 0x701098b5121b  (<unknown module>)
    #4 0x701098b53bdc  (<unknown module>)
    #5 0x701098b3cab4  (/home/jeremiah/Tetris/C-SDL2/tetris+0x9ab4)
    #6 0x701098b412e2  (/home/jeremiah/Tetris/C-SDL2/tetris+0xe2e2)
    #7 0x701098b41edc  (/home/jeremiah/Tetris/C-SDL2/tetris+0xeedc)
    #8 0x701098b33930  (<unknown module>)
    #9 0x701098b33d1b  (<unknown module>)
    #10 0x70108c382fcf  (/usr/lib/../lib/libSDL3.so.0+0x182fcf) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #11 0x70108c3854de  (/usr/lib/../lib/libSDL3.so.0+0x1854de) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #12 0x70108c385b5d  (/usr/lib/../lib/libSDL3.so.0+0x185b5d) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #13 0x70108c34c2b1  (/usr/lib/../lib/libSDL3.so.0+0x14c2b1) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #14 0x70108c21ddaf  (/usr/lib/../lib/libSDL3.so.0+0x1ddaf) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #15 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #16 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #17 0x605fa96343ee in game_new Video01/game.c:18
    #18 0x605fa9634b00 in main Video01/main.c:8
    #19 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #20 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #21 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 168 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfc542 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x701098b4f5a6  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c5a6)
    #2 0x701098b4f634  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c634)
    #3 0x701098b5121b  (<unknown module>)
    #4 0x701098b42bfd  (/home/jeremiah/Tetris/C-SDL2/tetris+0xfbfd)
    #5 0x701098b4d8ce  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1a8ce)
    #6 0x701098b4dac7  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1aac7)
    #7 0x701098b4de20  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1ae20)
    #8 0x701098b4e3ac  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1b3ac)
    #9 0x701098b31e82  (<unknown module>)
    #10 0x701098b46b9f  (/home/jeremiah/Tetris/C-SDL2/tetris+0x13b9f)
    #11 0x701098b33d36  (<unknown module>)
    #12 0x701098b33fdd  (<unknown module>)
    #13 0x701098b342ca  (<unknown module>)
    #14 0x70108c3867b7  (/usr/lib/../lib/libSDL3.so.0+0x1867b7) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #15 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #16 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #17 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #18 0x605fa96343ee in game_new Video01/game.c:18
    #19 0x605fa9634b00 in main Video01/main.c:8
    #20 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #21 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #22 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 168 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfc542 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x701098b4f5a6  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c5a6)
    #2 0x701098b4f634  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1c634)
    #3 0x701098b5121b  (<unknown module>)
    #4 0x701098b42bfd  (/home/jeremiah/Tetris/C-SDL2/tetris+0xfbfd)
    #5 0x701098b4d8ce  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1a8ce)
    #6 0x701098b4dac7  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1aac7)
    #7 0x701098b4de20  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1ae20)
    #8 0x701098b4e3ac  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1b3ac)
    #9 0x701098b31e82  (<unknown module>)
    #10 0x701098b46b9f  (/home/jeremiah/Tetris/C-SDL2/tetris+0x13b9f)
    #11 0x701098b33d36  (<unknown module>)
    #12 0x701098b33fdd  (<unknown module>)
    #13 0x701098b342ca  (<unknown module>)
    #14 0x70108c386786  (/usr/lib/../lib/libSDL3.so.0+0x186786) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #15 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #16 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #17 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #18 0x605fa96343ee in game_new Video01/game.c:18
    #19 0x605fa9634b00 in main Video01/main.c:8
    #20 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #21 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #22 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x701098b5037a  (<unknown module>)
    #2 0x701098b40c56  (/home/jeremiah/Tetris/C-SDL2/tetris+0xdc56)
    #3 0x701098b42bbd  (/home/jeremiah/Tetris/C-SDL2/tetris+0xfbbd)
    #4 0x701098b4d8ce  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1a8ce)
    #5 0x701098b4dac7  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1aac7)
    #6 0x701098b4de20  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1ae20)
    #7 0x701098b4e3ac  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1b3ac)
    #8 0x701098b31e82  (<unknown module>)
    #9 0x701098b46b9f  (/home/jeremiah/Tetris/C-SDL2/tetris+0x13b9f)
    #10 0x701098b33d36  (<unknown module>)
    #11 0x701098b33fdd  (<unknown module>)
    #12 0x701098b342ca  (<unknown module>)
    #13 0x70108c3867b7  (/usr/lib/../lib/libSDL3.so.0+0x1867b7) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #14 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #15 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #16 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #17 0x605fa96343ee in game_new Video01/game.c:18
    #18 0x605fa9634b00 in main Video01/main.c:8
    #19 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #20 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #21 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x701098b5037a  (<unknown module>)
    #2 0x701098b40c56  (/home/jeremiah/Tetris/C-SDL2/tetris+0xdc56)
    #3 0x701098b42bbd  (/home/jeremiah/Tetris/C-SDL2/tetris+0xfbbd)
    #4 0x701098b4d8ce  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1a8ce)
    #5 0x701098b4dac7  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1aac7)
    #6 0x701098b4de20  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1ae20)
    #7 0x701098b4e3ac  (/home/jeremiah/Tetris/C-SDL2/tetris+0x1b3ac)
    #8 0x701098b31e82  (<unknown module>)
    #9 0x701098b46b9f  (/home/jeremiah/Tetris/C-SDL2/tetris+0x13b9f)
    #10 0x701098b33d36  (<unknown module>)
    #11 0x701098b33fdd  (<unknown module>)
    #12 0x701098b342ca  (<unknown module>)
    #13 0x70108c386786  (/usr/lib/../lib/libSDL3.so.0+0x186786) (BuildId: 3c9f784f4962261f7624483ae4bd
4029a31f8e32)
    #14 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #15 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d7
02321a2c)
    #16 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #17 0x605fa96343ee in game_new Video01/game.c:18
    #18 0x605fa9634b00 in main Video01/main.c:8
    #19 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75
a)
    #20 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #21 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x701098b57498  (<unknown module>)
    #2 0x701098b3426e  (<unknown module>)
    #3 0x70108c386786  (/usr/lib/../lib/libSDL3.so.0+0x186786) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #4 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd40
29a31f8e32)
    #5 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #6 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #7 0x605fa96343ee in game_new Video01/game.c:18
    #8 0x605fa9634b00 in main Video01/main.c:8
    #9 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75a
)
    #10 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc1229
6052529af22f6a450a75a)
    #11 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x701099cfd891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x701098b470c4  (/home/jeremiah/Tetris/C-SDL2/tetris+0x140c4)
    #2 0x70108c386766  (/usr/lib/../lib/libSDL3.so.0+0x186766) (BuildId: 3c9f784f4962261f7624483ae4bd4
029a31f8e32)
    #3 0x70108c21c511  (/usr/lib/../lib/libSDL3.so.0+0x1c511) (BuildId: 3c9f784f4962261f7624483ae4bd40
29a31f8e32)
    #4 0x70109a403293  (/usr/lib/libSDL2-2.0.so.0+0x1a293) (BuildId: 70b531bd0eff55bb9a6cffca84c136d70
2321a2c)
    #5 0x605fa9634818 in game_init_sdl Video01/init_sdl.c:4
    #6 0x605fa96343ee in game_new Video01/game.c:18
    #7 0x605fa9634b00 in main Video01/main.c:8
    #8 0x701099a34e07  (/usr/lib/libc.so.6+0x25e07) (BuildId: aed3a2b0cf4e6cc12296052529af22f6a450a75a
)
    #9 0x701099a34ecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: aed3a2b0cf4e6cc12296
052529af22f6a450a75a)
    #10 0x605fa9634204 in _start (/home/jeremiah/Tetris/C-SDL2/tetris+0x2204) (BuildId: b39dd191a269b3
185f6705dab0f2a65492e45aa9)

SUMMARY: AddressSanitizer: 3381 byte(s) leaked in 35 allocation(s).
make: *** [Makefile:74: run] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions