diff --git a/src/config.c b/src/config.c index 29de26c5b..40003f270 100644 --- a/src/config.c +++ b/src/config.c @@ -492,21 +492,8 @@ void loadServerConfigFromString(char *config) { goto loaderr; } } else if (!strcasecmp(argv[0],"logfile") && argc == 2) { - FILE *logfp; - zfree(server.logfile); server.logfile = zstrdup(argv[1]); - if (server.logfile[0] != '\0') { - /* Test if we are able to open the file. The server will not - * be able to abort just for this problem later... */ - logfp = fopen(server.logfile,"a"); - if (logfp == NULL) { - err = sdscatprintf(sdsempty(), - "Can't open the log file: %s", strerror(errno)); - goto loaderr; - } - fclose(logfp); - } } else if (!strcasecmp(argv[0],"include") && argc == 2) { loadServerConfig(argv[1], 0, NULL); } else if ((!strcasecmp(argv[0],"slaveof") || @@ -615,6 +602,20 @@ void loadServerConfigFromString(char *config) { sdsfreesplitres(argv,argc); } + if (server.logfile[0] != '\0') { + FILE *logfp; + + /* Test if we are able to open the file. The server will not + * be able to abort just for this problem later... */ + logfp = fopen(server.logfile,"a"); + if (logfp == NULL) { + err = sdscatprintf(sdsempty(), + "Can't open the log file: %s", strerror(errno)); + goto loaderr; + } + fclose(logfp); + } + /* Sanity checks. */ if (server.cluster_enabled && server.masterhost) { linenum = slaveof_linenum;