summaryrefslogtreecommitdiff
path: root/include/env_default.h
diff options
context:
space:
mode:
authorMarek BehĂșn <marek.behun@nic.cz>2021-10-22 16:47:25 +0300
committerSimon Glass <sjg@chromium.org>2021-10-31 21:26:44 +0300
commit37f3758a250d4c590ffac671f100d9b5ec73b417 (patch)
treecca121da9f5283677ccfc3097b2711ddf298f463 /include/env_default.h
parentc5cbbe35fd7b3d05273f4d3f273c9e613bd38d7d (diff)
downloadu-boot-37f3758a250d4c590ffac671f100d9b5ec73b417.tar.xz
env: Use static_assert() to check if default_environment is too large
Check sizeof(default_environment) against ENV_SIZE in a static_assert() instead of runtime. Only check if !USE_HOSTCC (for in fw_env tool ENV_SIZE expands to a variable, and cannot be checked statically) nad !DEFAULT_ENV_INSTANCE_EMBEDDED, for in that case the default_environment variable is not set. Signed-off-by: Marek BehĂșn <marek.behun@nic.cz> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/env_default.h')
-rw-r--r--include/env_default.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/env_default.h b/include/env_default.h
index a6724719ec..23430dc70d 100644
--- a/include/env_default.h
+++ b/include/env_default.h
@@ -121,3 +121,9 @@ const char default_environment[] = {
}
#endif
};
+
+#if !defined(USE_HOSTCC) && !defined(DEFAULT_ENV_INSTANCE_EMBEDDED)
+#include <env_internal.h>
+static_assert(sizeof(default_environment) <= ENV_SIZE,
+ "Default environment is too large");
+#endif