]> gitweb.hhaalo.de Git - discspan.git/commitdiff
stat on heap
authorBastian Dehn <hhaalo@arcor.de>
Sun, 31 Aug 2025 09:06:36 +0000 (11:06 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 31 Aug 2025 09:06:36 +0000 (11:06 +0200)
libs/spandisc/src/filehandler.c

index f5eb874af2bcaa62260f99891ed3ec4b5ede9850..e611a520070e9dd6fbbce4dacfbc4011f9d8f395 100644 (file)
@@ -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)