From 03978909407868b622442349096430624d5b8d8e Mon Sep 17 00:00:00 2001 From: "AD005\\z004z3ez" Date: Tue, 18 Nov 2025 07:21:41 +0100 Subject: [PATCH] =?UTF-8?q?Fehlerbehebung=20der=20gro=C3=9Fen=20Funktion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- imageInput.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/imageInput.c b/imageInput.c index df5874b..403b16b 100644 --- a/imageInput.c +++ b/imageInput.c @@ -94,6 +94,17 @@ GrayScaleImageSeries *readImages(const char *path) series->images = malloc(numImages * sizeof(GrayScaleImage)); series->labels = malloc(numImages * sizeof(unsigned char)); + if(series->images == NULL || series->labels == NULL){ + + free(series->images); //wenn trotzdem was reingeschrieben wurde, dann freigeben + free(series->labels); + free(series); + + fclose(fp); + return NULL; + + } + //Prüfen, ob der Speicher reserviert werden konnte for(unsigned int i = 0; i < numImages; i++){ @@ -109,7 +120,7 @@ GrayScaleImageSeries *readImages(const char *path) free(series->images); //wenn trotzdem was reingeschrieben wurde, dann freigeben free(series->labels); free(series); - + fclose(fp); return NULL; @@ -131,7 +142,11 @@ GrayScaleImageSeries *readImages(const char *path) return NULL; } - fread(&series -> labels[i], 1, 1, fp); + if(fread(&series -> labels[i], 1, 1, fp) != 1){ + clearSeries(series); + fclose(fp); + return NULL; + } }