From 1ca591c62ae28db1314b3067a5f7157823f6ace0 Mon Sep 17 00:00:00 2001 From: Supermjork Date: Tue, 22 Aug 2023 18:11:00 +0300 Subject: [PATCH] free() bad --- printf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/printf.c b/printf.c index 11bae58..54c6c61 100644 --- a/printf.c +++ b/printf.c @@ -19,7 +19,7 @@ int _printf(const char *format, ...) identifiers = _contains(format, '%'); /* instances of %s, %c etc */ BUFF_SIZE = _strlen(format) - identifiers; - buffer = malloc(BUFF_SIZE); /* sized of the non % instances only*/ + buffer = (char *) malloc(BUFF_SIZE); /* sized of the non % instances only*/ if (!buffer) return (-1); @@ -35,8 +35,8 @@ int _printf(const char *format, ...) if (buffer) /* printing and clearing buffer on formatted things */ { printed += _puts(buffer); - free(buffer); - buffer = malloc(BUFF_SIZE); + _memset(buffer, 0); + buffer = (char *) malloc(BUFF_SIZE); if (!buffer) return (-1); buff_idx = 0;