From 84fd351bfc0aa6f2f02df521e449fcaa93dedf7a Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Thu, 1 Jul 2021 22:39:50 +0200 Subject: [PATCH] fixed: in BaseExpression::put_field_value_list_model() model_env_local.model pointer was not set to the child object reported by clang with -fsanitize=undefined main.cpp:55:63: runtime error: member access within address 0x614000000040 which does not point to an object of type 'Krolik' 0x614000000040: note: object is of type 'Item' 02 00 00 73 00 4e 75 00 00 00 00 00 a0 b9 ff ff ff 7f 00 00 c0 80 ff ff ff 7f 00 00 00 00 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'Item' SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior main.cpp:55:63 in main.cpp:55:97: runtime error: member access within address 0x614000000040 which does not point to an object of type 'Krolik' 0x614000000040: note: object is of type 'Item' 02 00 00 73 00 4e 75 00 00 00 00 00 a0 b9 ff ff ff 7f 00 00 c0 80 ff ff ff 7f 00 00 00 00 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'Item' SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior main.cpp:55:97 in --- src/baseexpression.h | 1 + src/{modelwrapper.h => modelcontainerwrapper.h} | 0 2 files changed, 1 insertion(+) rename src/{modelwrapper.h => modelcontainerwrapper.h} (100%) diff --git a/src/baseexpression.h b/src/baseexpression.h index 273274e..5bdfb3d 100644 --- a/src/baseexpression.h +++ b/src/baseexpression.h @@ -461,6 +461,7 @@ protected: ModelEnv model_env_local(*model_env); child_model.model_env = &model_env_local; child_model.model_env->has_primary_key_set = child_model.get_has_primary_key_set(); + child_model.model_env->model = &child_model; child_model.set_connector(model_connector); generate_from_model(child_model); diff --git a/src/modelwrapper.h b/src/modelcontainerwrapper.h similarity index 100% rename from src/modelwrapper.h rename to src/modelcontainerwrapper.h