From 15c3cd8482365385aeebaa93c6740c273ab5dd30 Mon Sep 17 00:00:00 2001 From: bergmann Date: Mon, 5 Nov 2018 20:51:11 +0100 Subject: [PATCH] * fixed endless loop/memory corruption in filter calculation for mariadb driver --- include/cpphibernate/driver/mariadb/schema/filter.inl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/cpphibernate/driver/mariadb/schema/filter.inl b/include/cpphibernate/driver/mariadb/schema/filter.inl index 6582abf..fd251bf 100644 --- a/include/cpphibernate/driver/mariadb/schema/filter.inl +++ b/include/cpphibernate/driver/mariadb/schema/filter.inl @@ -95,15 +95,18 @@ beg_namespace_cpphibernate_driver_mariadb auto it = tables.begin(); while (it != tables.end()) { + bool removed = false; for (auto& field : (*it)->fields) { if (fields.count(field.get())) { it = tables.erase(it); - continue; + removed = true; + break; } } - ++it; + if (!removed) + ++it; } }