From 39f0d38367f9959552194ee47ca1b48645d32a7d Mon Sep 17 00:00:00 2001 From: Olaf Schumann Date: Thu, 13 Jan 2022 09:22:21 +0100 Subject: [PATCH] Memory leak in hdf5_interface.h read_dataset(std::string) --- include/openmc/hdf5_interface.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/openmc/hdf5_interface.h b/include/openmc/hdf5_interface.h index 0fe55d170..4bcef7ede 100644 --- a/include/openmc/hdf5_interface.h +++ b/include/openmc/hdf5_interface.h @@ -247,11 +247,11 @@ inline void read_dataset( { // Create buffer to read data into auto n = dataset_typesize(obj_id, name); - char* buffer = new char[n]; + std::vector buffer(n, '\0'); // Read attribute and set string - read_string(obj_id, name, n, buffer, indep); - str = std::string {buffer, n}; + read_string(obj_id, name, n, buffer.data(), indep); + str = std::string { buffer.begin(), buffer.end() }; } // array version