Update 'Errata 2019 02 22'
parent
65adfb5806
commit
6bd344e41d
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
```
|
Loading…
Reference in New Issue