When 'lock-file <lockfile1>' was used in configuration at the same time
as using `-X <lockfile2>` in `named` invocation, there was an invalid
logic that would lead to a double isc_mem_strdup() call on the
<lockfile2> value.
Skip the second allocation if `lock-file` is being used in
configuration, so the <lockfile2> is used only single time.
(cherry picked from commit
4f68def5e966f0d359833b64837e25f0cb60fb6a)
if (server->lockfile == NULL) {
return (ISC_R_NOMEMORY);
}
- }
-
- if (named_g_forcelock && named_g_defaultlockfile != NULL) {
- INSIST(server->lockfile == NULL);
+ } else if (named_g_forcelock && named_g_defaultlockfile != NULL) {
server->lockfile = isc_mem_strdup(server->mctx,
named_g_defaultlockfile);
}