From 1596d38698c13e76848ab4d5dd5c7fcaeac9e0e9 Mon Sep 17 00:00:00 2001
From: Chris Allegretta <chrisa@asty.org>
Date: Thu, 7 Mar 2002 00:46:17 +0000
Subject: [PATCH] - rcfile.c:parse_rcfile() - Don't use i for both for loop and
 atoi(), fixes lots of potential crashes, 1st reported by Jean-Philippe
 Gue'rard

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1113 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog |  2 ++
 rcfile.c  | 14 +++++++-------
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4af142b1..4ed94db6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,8 @@ CVS code -
 - nano.c:
   main()
 	- Put NANO_SMALL defines around toggle pointer (noticed by Jordi);
+- rcfile.c:
+  
 - utils.c:
   stristr() - Defined regardless of NANO_SMALL (noticed by Jordi).
 	  
diff --git a/rcfile.c b/rcfile.c
index 13e0dae8..9e4459f0 100644
--- a/rcfile.c
+++ b/rcfile.c
@@ -304,7 +304,7 @@ void parse_colors(FILE * rcstream, char *buf, char *ptr)
 void parse_rcfile(FILE * rcstream)
 {
     char *buf, *ptr, *keyword, *option;
-    int set = 0, i;
+    int set = 0, i, j;
 
     buf = charalloc(1024);
     while (fgets(buf, 1023, rcstream) > 0) {
@@ -382,22 +382,22 @@ void parse_rcfile(FILE * rcstream)
 			    if (!strcasecmp(rcopts[i].name, "fill")) {
 #ifndef DISABLE_WRAPJUSTIFY
 
-				if ((i = atoi(option)) < MIN_FILL_LENGTH) {
+				if ((j = atoi(option)) < MIN_FILL_LENGTH) {
 				    rcfile_error(_
 						 ("requested fill size %d too small"),
-						 i);
+						 j);
 				} else
-				    fill = i;
+				    fill = j;
 #endif
 			    } else
 				if (!strcasecmp(rcopts[i].name, "tabsize"))
 			    {
-				if ((i = atoi(option)) <= 0) {
+				if ((j = atoi(option)) <= 0) {
 				    rcfile_error(_
 						 ("requested tab size %d too small"),
-						 i);
+						 j);
 				} else {
-				    tabsize = i;
+				    tabsize = j;
 				}
 #ifndef DISABLE_JUSTIFY
 			    } else
-- 
GitLab