From 59e81e0e2fa51b66f168c7118df42d6d88be048f Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 11 Oct 2025 10:07:48 +0200 Subject: [PATCH] fix realoc failure free --- src/rename.c | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/rename.c b/src/rename.c index 3b296c8..385927f 100644 --- a/src/rename.c +++ b/src/rename.c @@ -29,8 +29,15 @@ char* escape(const char* src) dest[destcounter] = '\0'; length = strlen(dest) + 1; - dest = realloc(dest, sizeof(char) * length);; + char* dest_tmp = realloc(dest, sizeof(char) * length); + if (dest_tmp == NULL) { + free(dest); + dest = NULL; + return NULL; + } + + dest = dest_tmp; return dest; } @@ -50,8 +57,15 @@ char* rename_point(const char* src) dest[length - point_count] = '\0'; length = strlen(dest) + 1; - dest = realloc(dest, sizeof(char) * length); + char* dest_tmp = realloc(dest, sizeof(char) * length); + + if (dest_tmp == NULL) { + free(dest); + dest = NULL; + return NULL; + } + dest = dest_tmp; return dest; } char* rename_lower(const char* src) @@ -110,8 +124,15 @@ char* rename_string(const char* src) dest[dest_count] = '\0'; length = strlen(dest) + 1; - dest = realloc(dest, sizeof(char) * length); + char* dest_tmp = realloc(dest, sizeof(char) * length); + if (dest_tmp == NULL) { + free(dest); + dest = NULL; + return NULL; + } + + dest = dest_tmp; return dest; } @@ -159,7 +180,14 @@ char* rename_revert(const char* src) dest[dest_count] = '\0'; length = strlen(dest) + 1; - dest = realloc(dest, sizeof(char) * length); + char* dest_tmp = realloc(dest, sizeof(char) * length); + + if (dest_tmp == NULL) { + free(dest); + dest = NULL; + return NULL; + } + dest = dest_tmp; return dest; } \ No newline at end of file -- 2.47.3