# HG changeset patch # User David Demelier # Date 1321808891 -3600 # Node ID ff1fcb6e385fe0a8fbffe2c526fc10c78594f5ad # Parent 8cea08140a71c675f70892ccb72be5aeb5724ece Fix a possible infinite loop diff -r 8cea08140a71 -r ff1fcb6e385f ini.c --- 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)