summaryrefslogtreecommitdiffabout
path: root/parsing.c
Unidiff
Diffstat (limited to 'parsing.c') (more/less context) (show whitespace changes)
-rw-r--r--parsing.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/parsing.c b/parsing.c
index 8e15e5a..36b0f0c 100644
--- a/parsing.c
+++ b/parsing.c
@@ -70,13 +70,15 @@ int cgit_read_config(const char *filename, configfn fn)
70 const char *value; 70 const char *value;
71 FILE *f; 71 FILE *f;
72 72
73 /* cancel the reading of yet another configfile after 16 invocations */ 73 /* cancel deeply nested include-commands */
74 if (nesting++ > 16) 74 if (nesting > 8)
75 return -1; 75 return -1;
76 if (!(f = fopen(filename, "r"))) 76 if (!(f = fopen(filename, "r")))
77 return -1; 77 return -1;
78 nesting++;
78 while((len = read_config_line(f, line, &value, sizeof(line))) > 0) 79 while((len = read_config_line(f, line, &value, sizeof(line))) > 0)
79 (*fn)(line, value); 80 (*fn)(line, value);
81 nesting--;
80 fclose(f); 82 fclose(f);
81 return 0; 83 return 0;
82} 84}