-
Task
-
Resolution: Done
-
Normal
-
None
-
None
-
None
-
Quality / Stability / Reliability
-
False
-
-
True
-
-
-
Rox Sprint 4.9F - Global, Rox Sprint 4.9G - Global
It was noticed that the code responsible for merging in defaults in the operator does not work as expected in all situations (to be more precise: as it is currently used it doesn't differentiate between "value not specified" (in a user config) and "value is a pointer to an empty value" (think e.g.: a pointer to a boolean false). This is problematic, because essentially means that a user-provided explicit "false" will be treated as "not specified" and hence potentially overwritten with whatever the configured default is.
Acceptance Criteria:
The code merging in defaults must be fixed so that it does not overwrite "pointers to empty (leaf!) values" with defaults. Note that a pointer to an empty sub struct must not prevent traversing into the nested struct and potentially filling in defaults there.