Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jun 2003 02:42:12 -0700 (PDT)
From:      Dag-Erling Smorgrav <des@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 33323 for review
Message-ID:  <200306180942.h5I9gCxp090685@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=33323

Change 33323 by des@des.at.des.thinksec.com on 2003/06/18 02:41:27

	Avoid side effects in macro arguments (don't I ever learn?); also
	address some related style issues.
	
	Submitted by:	Dmitry V. Levin <ldv@altlinux.org>

Affected files ...

.. //depot/projects/openpam/lib/openpam_load.c#20 edit
.. //depot/projects/openpam/lib/pam_end.c#14 edit
.. //depot/projects/openpam/lib/pam_getenvlist.c#13 edit

Differences ...

==== //depot/projects/openpam/lib/openpam_load.c#20 (text+ko) ====

@@ -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 <dlfcn.h>
@@ -153,10 +153,13 @@
 		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);
 }
 

==== //depot/projects/openpam/lib/pam_end.c#14 (text+ko) ====

@@ -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 <stdlib.h>
@@ -68,8 +68,10 @@
 	}
 
 	/* 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 */

==== //depot/projects/openpam/lib/pam_getenvlist.c#13 (text+ko) ====

@@ -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 <stdlib.h>
@@ -65,8 +65,10 @@
 	}
 	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));



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306180942.h5I9gCxp090685>