Index: trunk/config.c =================================================================== --- trunk/config.c (revision 334) +++ trunk/config.c (working copy) @@ -891,7 +891,6 @@ if ((key = isolateValue(configFile, lineNum, opt, &start, &buf, length)) != NULL) { - free(opt); int l = strlen(key) - 1; if (key[l] == 'k') { key[l] = '\0'; @@ -903,6 +902,7 @@ key[l] = '\0'; multiplier = 1024 * 1024 * 1024; } else if (!isdigit(key[l])) { + free(opt); message(MESS_ERROR, "%s:%d unknown unit '%c'\n", configFile, lineNum, key[l]); if (newlog != defConfig) { @@ -919,6 +919,7 @@ if (*chptr) { message(MESS_ERROR, "%s:%d bad size '%s'\n", configFile, lineNum, key); + free(opt); if (newlog != defConfig) { state = STATE_ERROR; continue; @@ -926,11 +927,13 @@ goto error; } } - if (!strncmp(key, "size", 4)) { + if (!strncmp(opt, "size", 4)) { newlog->criterium = ROT_SIZE; newlog->threshhold = size; - } else + } else { newlog->minsize = size; + } + free(opt); } else { free(opt);