OpenPAM/lib/libpam
Dag-Erling Smørgrav 9bdf428c5a Fix an off-by-one bug in pam_getenv() which was inadvertantly
introduced when pam_getenv() was (needlessly) rewritten as part of
r913.  Rewrite pam_getenv() again (but correctly, this time) to reduce
the number of times we iterate over the same string.  Add a few unit
tests for pam_{get,put,set}env(), including one which would have
caught the bug.

Credit goes to Tim Creech <tcreech@tcreech.com> for discovering and
reporting the bug.


git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@943 185d5e19-27fe-0310-9dcf-9bff6b9f3609
2019-02-20 13:23:51 +00:00
..
Makefile.am Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_asprintf.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_asprintf.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_borrow_cred.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_check_owner_perms.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_configure.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_constants.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_constants.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_cred.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_ctype.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_debug.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_dispatch.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_dlfunc.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_dynamic.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_features.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_features.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_findenv.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_free_data.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_free_envlist.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_get_feature.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_get_option.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_impl.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_load.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_log.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_nullconv.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_readline.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_readlinev.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_readword.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_restore_cred.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_set_feature.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_set_option.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_static.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_straddch.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_strlcat.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_strlcat.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_strlcmp.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_strlcpy.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_strlcpy.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_strlset.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_strlset.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_subst.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_ttyconv.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_vasprintf.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
openpam_vasprintf.h Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_acct_mgmt.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_authenticate.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_authenticate_secondary.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_chauthtok.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_close_session.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_end.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_error.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_get_authtok.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_get_data.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_get_item.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_get_mapped_authtok.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_get_mapped_username.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_get_user.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_getenv.c Fix an off-by-one bug in pam_getenv() which was inadvertantly 2019-02-20 13:23:51 +00:00
pam_getenvlist.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_info.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_open_session.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_prompt.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_putenv.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_set_data.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_set_item.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_set_mapped_authtok.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_set_mapped_username.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_setcred.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_setenv.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_acct_mgmt.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_authenticate.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_authenticate_secondary.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_chauthtok.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_close_session.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_get_mapped_authtok.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_get_mapped_username.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_open_session.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_set_mapped_authtok.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_set_mapped_username.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_sm_setcred.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_start.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_strerror.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_verror.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_vinfo.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00
pam_vprompt.c Switch from $Id$ to $OpenPAM$. 2017-04-30 21:34:42 +00:00