From c38cf0b068e0be20d4d5f15eb195ada3856f9f53 Mon Sep 17 00:00:00 2001 From: kdx Date: Mon, 4 Dec 2023 00:41:48 +0100 Subject: [PATCH] Handle malloc failure for data field --- src/ini.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ini.c b/src/ini.c index ab5f11d..d6f5b75 100644 --- a/src/ini.c +++ b/src/ini.c @@ -198,6 +198,9 @@ ini_t* ini_load(const char *filename) { /* Load file content into memory, null terminate, init end var */ ini->data = malloc(sz + 1); + if (!ini->data) { + goto fail; + } ini->data[sz] = '\0'; ini->end = ini->data + sz; n = fread(ini->data, 1, sz, fp); @@ -220,7 +223,7 @@ ini_t* ini_load(const char *filename) { void ini_free(ini_t *ini) { - free(ini->data); + if (ini->data) free(ini->data); free(ini); }