summaryrefslogtreecommitdiffstats
path: root/contrib/openpam/lib/pam_getenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/openpam/lib/pam_getenv.c')
-rw-r--r--contrib/openpam/lib/pam_getenv.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/contrib/openpam/lib/pam_getenv.c b/contrib/openpam/lib/pam_getenv.c
index a00c7cf..58ad283 100644
--- a/contrib/openpam/lib/pam_getenv.c
+++ b/contrib/openpam/lib/pam_getenv.c
@@ -31,7 +31,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $P4: //depot/projects/openpam/lib/pam_getenv.c#10 $
+ * $P4: //depot/projects/openpam/lib/pam_getenv.c#12 $
*/
#include <stdlib.h>
@@ -52,16 +52,23 @@ char *
pam_getenv(pam_handle_t *pamh,
const char *name)
{
+ char *str;
int i;
- ENTER();
+ ENTERS(name);
if (pamh == NULL)
RETURNS(NULL);
if (name == NULL || strchr(name, '=') != NULL)
RETURNS(NULL);
if ((i = openpam_findenv(pamh, name, strlen(name))) == -1)
RETURNS(NULL);
- RETURNS(strdup(pamh->env[i]));
+ for (str = pamh->env[i]; *str != '\0'; ++str) {
+ if (*str == '=') {
+ ++str;
+ break;
+ }
+ }
+ RETURNS(str);
}
/**
OpenPOWER on IntegriCloud