mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-08 21:52:06 -04:00
Fix assertion failure when using -X none and lock-file in configuration
When 'lock-file <lockfile>' is used in configuration at the same time as using '-X none' in 'named' invocation, there is an invalid logic that would lead to a isc_mem_strdup() call on a NULL value. Also, contradicting to ARM, 'lock-file none' is overriding the '-X' argument. Fix the overall logic, and make sure that the '-X' takes precedence to 'lock-file'.
This commit is contained in:
parent
c6edfa398c
commit
fc2dd09390
1 changed files with 10 additions and 13 deletions
|
|
@ -8166,27 +8166,24 @@ check_lockfile(named_server_t *server, const cfg_obj_t *config,
|
|||
}
|
||||
|
||||
if (obj != NULL) {
|
||||
if (cfg_obj_isvoid(obj)) {
|
||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER, ISC_LOG_DEBUG(1),
|
||||
"skipping lock-file check ");
|
||||
return (ISC_R_SUCCESS);
|
||||
} else if (named_g_forcelock) {
|
||||
if (named_g_forcelock) {
|
||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING,
|
||||
"'lock-file' has no effect "
|
||||
"because the server was run with -X");
|
||||
server->lockfile = isc_mem_strdup(
|
||||
server->mctx, named_g_defaultlockfile);
|
||||
} else {
|
||||
if (named_g_defaultlockfile != NULL) {
|
||||
server->lockfile = isc_mem_strdup(
|
||||
server->mctx, named_g_defaultlockfile);
|
||||
}
|
||||
} else if (cfg_obj_isvoid(obj)) {
|
||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER, ISC_LOG_DEBUG(1),
|
||||
"skipping lock-file check");
|
||||
} else if (cfg_obj_isstring(obj)) {
|
||||
filename = cfg_obj_asstring(obj);
|
||||
server->lockfile = isc_mem_strdup(server->mctx,
|
||||
filename);
|
||||
}
|
||||
|
||||
if (server->lockfile == NULL) {
|
||||
return (ISC_R_NOMEMORY);
|
||||
}
|
||||
} else if (named_g_forcelock && named_g_defaultlockfile != NULL) {
|
||||
server->lockfile = isc_mem_strdup(server->mctx,
|
||||
named_g_defaultlockfile);
|
||||
|
|
|
|||
Loading…
Reference in a new issue