From 922d9cb144dbdf3fad7e067fdb19bc700185fe62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Wed, 18 Jun 2003 11:41:27 +0000 Subject: [PATCH] Avoid side effects in macro arguments (don't I ever learn?); also address some related style issues. Submitted by: Dmitry V. Levin git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@262 185d5e19-27fe-0310-9dcf-9bff6b9f3609 --- lib/openpam_load.c | 7 +++++-- lib/pam_end.c | 8 +++++--- lib/pam_getenvlist.c | 8 +++++--- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/lib/openpam_load.c b/lib/openpam_load.c index a1057f3..838f72e 100644 --- a/lib/openpam_load.c +++ b/lib/openpam_load.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/openpam_load.c#19 $ + * $P4: //depot/projects/openpam/lib/openpam_load.c#20 $ */ #include @@ -153,10 +153,13 @@ openpam_destroy_chain(pam_chain_t *chain) return; openpam_destroy_chain(chain->next); chain->next = NULL; - while (chain->optc--) + while (chain->optc) { + --chain->optc; FREE(chain->optv[chain->optc]); + } FREE(chain->optv); openpam_release_module(chain->module); + chain->module = NULL; FREE(chain); } diff --git a/lib/pam_end.c b/lib/pam_end.c index e1762c6..0dd3ea7 100644 --- a/lib/pam_end.c +++ b/lib/pam_end.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_end.c#13 $ + * $P4: //depot/projects/openpam/lib/pam_end.c#14 $ */ #include @@ -68,8 +68,10 @@ pam_end(pam_handle_t *pamh, } /* clear environment */ - while (pamh->env_count) - FREE(pamh->env[--pamh->env_count]); + while (pamh->env_count) { + --pamh->env_count; + FREE(pamh->env[pamh->env_count]); + } FREE(pamh->env); /* clear chains */ diff --git a/lib/pam_getenvlist.c b/lib/pam_getenvlist.c index 2ba1bdf..82f2320 100644 --- a/lib/pam_getenvlist.c +++ b/lib/pam_getenvlist.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_getenvlist.c#12 $ + * $P4: //depot/projects/openpam/lib/pam_getenvlist.c#13 $ */ #include @@ -65,8 +65,10 @@ pam_getenvlist(pam_handle_t *pamh) } for (i = 0; i < pamh->env_count; ++i) { if ((envlist[i] = strdup(pamh->env[i])) == NULL) { - while (i) - FREE(envlist[--i]); + while (i) { + --i; + FREE(envlist[i]); + } FREE(envlist); openpam_log(PAM_LOG_ERROR, "%s", pam_strerror(pamh, PAM_BUF_ERR));