From f7d007135beff10989e5960bad58a123db48dbd5 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 31 Aug 2025 11:06:36 +0200 Subject: [PATCH] stat on heap --- libs/spandisc/src/filehandler.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libs/spandisc/src/filehandler.c b/libs/spandisc/src/filehandler.c index f5eb874..e611a52 100644 --- a/libs/spandisc/src/filehandler.c +++ b/libs/spandisc/src/filehandler.c @@ -12,22 +12,24 @@ void fill_array_from_file(FILE *in, medium_t *srcdata) { char* path = malloc(sizeof(char) * MAX_PATH_LENGTH); memset(path, 0, MAX_PATH_LENGTH); - struct stat st; + struct stat* st = malloc(sizeof(struct stat)); while (fscanf(in, "%[^\n]\n", path) == 1) { // Lese Dateieigenschaften in st struct - stat(path, &st); + stat(path, st); srcdata->filearray = (file_size_t *) realloc(srcdata->filearray, (srcdata->length + 1) * sizeof(file_size_t)); strcpy(srcdata->filearray[srcdata->length].name, path); - srcdata->filearray[srcdata->length].type = st.st_mode; - srcdata->filearray[srcdata->length].fsize = st.st_size; + srcdata->filearray[srcdata->length].type = st->st_mode; + srcdata->filearray[srcdata->length].fsize = st->st_size; srcdata->length++; } free(path); path = NULL; + free(st); + st = NULL; } void read_input_file(const char *input, medium_t *srcdata) -- 2.47.3