Update 'Errata 2019 02 22'

Dag-Erling Smørgrav 2023-06-26 18:19:16 +00:00
parent 65adfb5806
commit 6bd344e41d
1 changed files with 35 additions and 1 deletions

@ -8,4 +8,38 @@
Workaround:: None.
Fix:: Apply a [subset](/changeset/943/openpam/trunk/lib/libpam/pam_getenv.c) of r943.
Fix:: Apply the following patch:
```
--- lib/libpam/pam_getenv.c.orig
+++ lib/libpam/pam_getenv.c
@@ -58,19 +58,20 @@ const char *
pam_getenv(pam_handle_t *pamh,
const char *name)
{
- char *str;
+ size_t len;
int i;
ENTERS(name);
- if (strchr(name, '=') != NULL) {
- errno = EINVAL;
- RETURNS(NULL);
+ for (len = 0; name[len] != '\0'; ++len) {
+ if (name[len] == '=') {
+ errno = EINVAL;
+ RETURNS(NULL);
+ }
}
- if ((i = openpam_findenv(pamh, name, strlen(name))) < 0)
+ if ((i = openpam_findenv(pamh, name, len)) < 0)
RETURNS(NULL);
- if ((str = strchr(pamh->env[i], '=')) == NULL)
- RETURNS("");
- RETURNS(str);
+ /* assert(pamh->env[i][len] == '='); */
+ RETURNS(pamh->env[i] + len + 1);
}
/**
```