diff --git a/lib/libpam/openpam_findenv.c b/lib/libpam/openpam_findenv.c index 1e2854c..23e3196 100644 --- a/lib/libpam/openpam_findenv.c +++ b/lib/libpam/openpam_findenv.c @@ -39,6 +39,7 @@ # include "config.h" #endif +#include #include #include @@ -63,6 +64,7 @@ openpam_findenv(pam_handle_t *pamh, if (strncmp(pamh->env[i], name, len) == 0 && pamh->env[i][len] == '=') RETURNN(i); + errno = ENOENT; RETURNN(-1); } diff --git a/lib/libpam/pam_getenv.c b/lib/libpam/pam_getenv.c index 94f9de7..86dc25e 100644 --- a/lib/libpam/pam_getenv.c +++ b/lib/libpam/pam_getenv.c @@ -39,6 +39,7 @@ # include "config.h" #endif +#include #include #include @@ -61,8 +62,10 @@ pam_getenv(pam_handle_t *pamh, int i; ENTERS(name); - if (strchr(name, '=') != NULL) + if (strchr(name, '=') != NULL) { + errno = EINVAL; RETURNS(NULL); + } if ((i = openpam_findenv(pamh, name, strlen(name))) < 0) RETURNS(NULL); if ((str = strchr(pamh->env[i], '=')) == NULL) diff --git a/lib/libpam/pam_putenv.c b/lib/libpam/pam_putenv.c index 4e61db5..d7ac410 100644 --- a/lib/libpam/pam_putenv.c +++ b/lib/libpam/pam_putenv.c @@ -39,6 +39,7 @@ # include "config.h" #endif +#include #include #include @@ -64,8 +65,10 @@ pam_putenv(pam_handle_t *pamh, ENTER(); /* sanity checks */ - if ((p = strchr(namevalue, '=')) == NULL) + if ((p = strchr(namevalue, '=')) == NULL) { + errno = EINVAL; RETURNC(PAM_SYSTEM_ERR); + } /* see if the variable is already in the environment */ if ((i = openpam_findenv(pamh, namevalue, p - namevalue)) >= 0) { diff --git a/lib/libpam/pam_setenv.c b/lib/libpam/pam_setenv.c index 0ee7724..6cf68c7 100644 --- a/lib/libpam/pam_setenv.c +++ b/lib/libpam/pam_setenv.c @@ -39,6 +39,7 @@ # include "config.h" #endif +#include #include #include #include @@ -67,8 +68,10 @@ pam_setenv(pam_handle_t *pamh, ENTER(); /* sanity checks */ - if (*name == '\0' || strchr(name, '=') != NULL) + if (*name == '\0' || strchr(name, '=') != NULL) { + errno = EINVAL; RETURNC(PAM_SYSTEM_ERR); + } /* is it already there? */ if (!overwrite && openpam_findenv(pamh, name, strlen(name)) >= 0)