| This check didn't really check either KENV_MNAMELEN or KENV_MVALLEN, and |
| there is no reason to reject longer environment variables. |
| |
| diff -ru --exclude-from freebsd-src-diff-exclude-names --new-file /var/archive3/public/freebsd-releng-10.4-src/sys/kern/kern_environment.c freebsd-10.4/sys/kern/kern_environment.c |
| --- /var/archive3/public/freebsd-releng-10.4-src/sys/kern/kern_environment.c 2017-09-29 08:19:46.000000000 +0800 |
| +++ freebsd-10.4/sys/kern/kern_environment.c 2021-12-07 18:30:54.517412000 +0800 |
| @@ -266,12 +266,6 @@ |
| if (kern_envp && *kern_envp != '\0') { |
| for (cp = kern_envp; cp != NULL; cp = kernenv_next(cp)) { |
| len = strlen(cp) + 1; |
| - if (len > KENV_MNAMELEN + 1 + KENV_MVALLEN + 1) { |
| - printf( |
| - "WARNING: too long kenv string, ignoring %s\n", |
| - cp); |
| - continue; |
| - } |
| if (i < KENV_SIZE) { |
| kenvp[i] = malloc(len, M_KENV, M_WAITOK); |
| strcpy(kenvp[i++], cp); |