env-util: add explicit size check before strndupa() in strv_env_get_n()

Let's better be safe than sorry.
This commit is contained in:
Lennart Poettering
2023-06-27 13:49:46 +02:00
parent 2b07147e9c
commit 10930fbb1c
+4
View File
@@ -514,6 +514,10 @@ char *strv_env_get_n(char **l, const char *name, size_t k, unsigned flags) {
if (flags & REPLACE_ENV_USE_ENVIRONMENT) {
const char *t;
/* Safety check that the name is not overly long, before we do a stack allocation */
if (k > (size_t) sysconf(_SC_ARG_MAX) - 2)
return NULL;
t = strndupa_safe(name, k);
return getenv(t);
};