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 | |
parent | be239071af02a0056fbc4ea07caf8efd27725ae1 (diff) | |
download | stasis-2d0c4492b676a6ae889a19530a6cd99ac27b267e.tar.gz |
Fix segfault on invalid section name
-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; |