From 0d71849af8ab91470c21cedc27a4a9652c5064ba Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 13 Jul 2009 12:25:20 +0000 Subject: [PATCH] Avoid a buffer overflow. git-svn-id: https://svn.dealii.org/trunk@19065 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/contrib/mesh_conversion/MeshConversion.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deal.II/contrib/mesh_conversion/MeshConversion.cc b/deal.II/contrib/mesh_conversion/MeshConversion.cc index eb7d2f2fac..3f018e77e4 100755 --- a/deal.II/contrib/mesh_conversion/MeshConversion.cc +++ b/deal.II/contrib/mesh_conversion/MeshConversion.cc @@ -166,7 +166,9 @@ bool MeshConversion::read_in_abaqus_inp (const std::string filename) for (int ll = 0; ll < material_id_temp.length(); ++ll) material_id += (material_id_temp[material_id_temp.length() - ll - 1] - 48 /* ASCII TRICKS */) * pow(10.0,ll); - while (from_string (temp_float, temp_data[k + 3 + j*(data_per_cell)], std::dec) == true) + while ((k + 3 + j*(data_per_cell) < temp_data.size()) + && + (from_string (temp_float, temp_data[k + 3 + j*(data_per_cell)], std::dec) == true)) { // Initilise storage variables std::vector cell (data_per_cell); -- 2.39.5