From 84031659fa8ac16a3942494f8b4263b1a8bf1aa9 Mon Sep 17 00:00:00 2001 From: Chiraffollo <5937599+Chiraffollo@users.noreply.github.com> Date: Sat, 27 Jan 2024 01:55:51 +0100 Subject: [PATCH] Fix #832: Only copy/move storage value when optional is valid (#833) --- include/etl/optional.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/include/etl/optional.h b/include/etl/optional.h index d85763d25..6431efb58 100644 --- a/include/etl/optional.h +++ b/include/etl/optional.h @@ -768,7 +768,10 @@ namespace etl { if (this != &other) { - storage.value = other.storage.value; + if (other.valid) + { + storage.value = other.storage.value; + } valid = other.valid; } @@ -783,7 +786,10 @@ namespace etl { if (this != &other) { - storage.value = etl::move(other.storage.value); + if (other.valid) + { + storage.value = etl::move(other.storage.value); + } valid = other.valid; }