fix #723547 - fixed size directive parsing
This commit is contained in:
parent
f307856de3
commit
e93251a9b6
44
logrotate-3.8.0-rot-size.patch
Normal file
44
logrotate-3.8.0-rot-size.patch
Normal file
@ -0,0 +1,44 @@
|
||||
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);
|
Loading…
Reference in New Issue
Block a user