changeset 86:ff1fcb6e385f

Fix a possible infinite loop
author David Demelier <markand@malikania.fr>
date Sun, 20 Nov 2011 18:08:11 +0100
parents 8cea08140a71
children d27a6fd446ea
files ini.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ini.c	Sat Nov 19 20:51:18 2011 +0100
+++ b/ini.c	Sun Nov 20 18:08:11 2011 +0100
@@ -211,7 +211,7 @@
  */
 
 char *
-ini_option_once(const struct ini_config *conf, const char *sect, const char *key)
+ini_get_option_once(const struct ini_config *conf, const char *sect, const char *key)
 {
 	struct ini_option *o;
 	struct ini_section *s;
@@ -503,8 +503,10 @@
 			handler = &ini_switch;
 		else if (!conf->ignore)
 			handler = &ini_register;
-		else
+		else {
 			handler = NULL;
+			++ lp;
+		}
 
 		/* Success or not? */
 		if (handler != NULL && handler(conf, &lp) < 0)