Let's start with 1024, as that should be plenty for all sane use cases.
if (!sd_json_variant_is_array(variant))
return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "JSON field '%s' is not an array.", strna(name));
+ if (sd_json_variant_elements(variant) > ENVIRONMENT_ASSIGNMENTS_MAX)
+ return json_log(variant, flags, SYNTHETIC_ERRNO(E2BIG), "Too many environment variable assignments.");
+
sd_json_variant *i;
JSON_VARIANT_ARRAY_FOREACH(i, variant) {
const char *e;
#include "sd-forward.h"
#include "string-util.h" /* IWYU pragma: keep */
+#define ENVIRONMENT_ASSIGNMENTS_MAX 1024U
+
#define JSON_VARIANT_REPLACE(v, q) \
do { \
typeof(v)* _v = &(v); \