diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2023-12-10 01:03:40 -0500 | 
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2023-12-10 01:03:40 -0500 | 
| commit | 2d0c4492b676a6ae889a19530a6cd99ac27b267e (patch) | |
| tree | b73aa507e309a98d320522f99249bccf0faaa5b0 /src | |
| parent | be239071af02a0056fbc4ea07caf8efd27725ae1 (diff) | |
| download | stasis-2d0c4492b676a6ae889a19530a6cd99ac27b267e.tar.gz | |
Fix segfault on invalid section name
Diffstat (limited to 'src')
| -rw-r--r-- | src/ini.c | 7 | 
1 files changed, 7 insertions, 0 deletions
| @@ -289,6 +289,13 @@ struct INIFILE *ini_open(const char *filename) {          // Test for section header: [string]          if (startswith(line, "[")) { +            key_last = NULL; +            char *name = substring_between(line, "[]"); +            if (!name) { +                fprintf(stderr, "error: invalid section syntax, line %zu: '%s'\n", i + 1, line); +                return NULL; +            } +              // Ignore default section because we already have an implicit one              if (!strncmp(&line[1], "default", strlen("default"))) {                  continue; | 
