From: Bastian Dehn Date: Sun, 31 Aug 2025 09:05:22 +0000 (+0200) Subject: change read file with heap path X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=f283ead36d40e2c24224163cd6ed74a51c4a29c1;p=discspan.git change read file with heap path --- diff --git a/libs/spandisc/src/filehandler.c b/libs/spandisc/src/filehandler.c index a98cc95..f5eb874 100644 --- a/libs/spandisc/src/filehandler.c +++ b/libs/spandisc/src/filehandler.c @@ -6,22 +6,28 @@ #include "spandisc.h" #include "filehandler.h" +#define MAX_PATH_LENGTH 255 + void fill_array_from_file(FILE *in, medium_t *srcdata) { - char pfad[255]; + char* path = malloc(sizeof(char) * MAX_PATH_LENGTH); + memset(path, 0, MAX_PATH_LENGTH); struct stat st; - while (fscanf(in, "%[^\n]\n", pfad) == 1) { + while (fscanf(in, "%[^\n]\n", path) == 1) { // Lese Dateieigenschaften in st struct - stat(pfad, &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, pfad); + strcpy(srcdata->filearray[srcdata->length].name, path); srcdata->filearray[srcdata->length].type = st.st_mode; srcdata->filearray[srcdata->length].fsize = st.st_size; srcdata->length++; } + + free(path); + path = NULL; } void read_input_file(const char *input, medium_t *srcdata)