aboutsummaryrefslogtreecommitdiff
path: root/src/config.c
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-02-04 11:54:38 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-02-04 15:29:29 -0500
commit2199e165558dfe1ceae02814e779d027a36e7a9c (patch)
tree3c4f902f7329515cf5f118ed6bb204503008e6dc /src/config.c
parent7cb43a7996afa4a2a2578f1ce3302866bb79f55b (diff)
downloadspmc-2199e165558dfe1ceae02814e779d027a36e7a9c.tar.gz
Use StrList for array handling
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/config.c b/src/config.c
index 26938e7..2763109 100644
--- a/src/config.c
+++ b/src/config.c
@@ -135,7 +135,7 @@ ConfigItem **config_read(const char *filename) {
// increment record count
record++;
// Expand config by another record
- config = (ConfigItem **)reallocarray(config, (record + record_initial), sizeof(ConfigItem *));
+ config = (ConfigItem **)reallocarray(config, (record + record_initial) + 1, sizeof(ConfigItem *));
if (!config) {
perror("ConfigItem array");
fprintf(SYSERROR);
@@ -152,7 +152,9 @@ ConfigItem **config_read(const char *filename) {
* @param item `ConfigItem` array
*/
void config_free(ConfigItem **item) {
- for (int i = 0; item[i] != NULL; i++) {
+ for (size_t i = 0; item[i] != NULL; i++) {
+ free(item[i]->key);
+ free(item[i]->value);
free(item[i]);
}
free(item);