cfgfile: fix read of empty file
authorBruce Richardson <bruce.richardson@intel.com>
Tue, 16 Dec 2014 15:03:53 +0000 (15:03 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 16 Dec 2014 23:40:37 +0000 (00:40 +0100)
If the file to be read by the cfgfile is empty, i.e. no configuration
data, but possibly comments present, the cfgfile should not mark the
last processed section (curr_section) as having N entries, since there
is no last processed section.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_cfgfile/rte_cfgfile.c

index f2bc2cc..b81c273 100644 (file)
@@ -225,8 +225,10 @@ rte_cfgfile_load(const char *filename, int flags)
        }
        fclose(f);
        cfg->flags = flags;
-       cfg->sections[curr_section]->num_entries = curr_entry + 1;
        cfg->num_sections = curr_section + 1;
+       /* curr_section will still be -1 if we have an empty file */
+       if (curr_section >= 0)
+               cfg->sections[curr_section]->num_entries = curr_entry + 1;
        return cfg;
 
 error1: