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:
@@ -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);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user