From c4d90c834c38545fd451f12dc51222c9928f9867 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Fri, 19 Jun 2020 10:49:21 +0200 Subject: Bereinige den benutzten Speicher vor der Freigabe... --- csv.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'csv.c') diff --git a/csv.c b/csv.c index 4d48f01..9782fe3 100644 --- a/csv.c +++ b/csv.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "csv.h" #define INLINE static inline @@ -24,10 +25,11 @@ csv_mem_reallocate(void *ptr, size_t n, size_t sz, void *cb_arg) } static void -csv_mem_free(void *ptr, void *cb_arg) +csv_mem_free(void *ptr, size_t sz, void *cb_arg) { (void) cb_arg; + explicit_bzero(ptr, sz); free(ptr); } @@ -121,7 +123,7 @@ csv_string_free(csv_string_t *csv_string, const csv_options_t * const csv_option assert(csv_string != NULL); assert(csv_options != NULL); - csv_options->cb_free(csv_string->str, csv_options->cb_arg); + csv_options->cb_free(csv_string->str, csv_string->cap, csv_options->cb_arg); /* call *_init() for sane default values; prevent possible double-free */ csv_string_init(csv_string); @@ -185,7 +187,7 @@ csv_field_free(csv_field_t *csv_field, const csv_options_t * const csv_options) assert(csv_field != NULL); assert(csv_options != NULL); - csv_options->cb_free(csv_field->fields, csv_options->cb_arg); + csv_options->cb_free(csv_field->fields, csv_field->cap, csv_options->cb_arg); csv_field_init(csv_field); } -- cgit v1.3