mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-10 15:09:59 -04:00
[v9_9] wrong dlopen filename caused segfault
3878. [bug] Using the incorrect filename for a DLZ module
caused a segmentation fault on startup. [RT #36286]
(cherry picked from commit c1d33c159b)
This commit is contained in:
parent
e530bc13dc
commit
b04088636a
3 changed files with 11 additions and 1 deletions
3
CHANGES
3
CHANGES
|
|
@ -1,3 +1,6 @@
|
|||
3878. [bug] Using the incorrect filename for a DLZ module
|
||||
caused a segmentation fault on startup. [RT #36286]
|
||||
|
||||
3874. [test] Check that only "check-names master" is needed for
|
||||
updates to be accepted.
|
||||
|
||||
|
|
|
|||
|
|
@ -243,11 +243,13 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
cd->dl_path = isc_mem_strdup(cd->mctx, argv[1]);
|
||||
if (cd->dl_path == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
cd->dlzname = isc_mem_strdup(cd->mctx, dlzname);
|
||||
if (cd->dlzname == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
|
|
@ -277,6 +279,7 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
dlopen_log(ISC_LOG_ERROR,
|
||||
"dlz_dlopen failed to open library '%s' - %s",
|
||||
cd->dl_path, dlerror());
|
||||
result = ISC_R_FAILURE;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
|
|
@ -295,6 +298,7 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
cd->dlz_findzonedb == NULL)
|
||||
{
|
||||
/* We're missing a required symbol */
|
||||
result = ISC_R_FAILURE;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
|
|
@ -374,7 +378,6 @@ failed:
|
|||
return (result);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Called when bind is shutting down
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -242,11 +242,13 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
|
||||
cd->dl_path = isc_mem_strdup(cd->mctx, argv[1]);
|
||||
if (cd->dl_path == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
cd->dlzname = isc_mem_strdup(cd->mctx, dlzname);
|
||||
if (cd->dlzname == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
|
|
@ -263,6 +265,7 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
dlopen_log(ISC_LOG_ERROR,
|
||||
"dlz_dlopen failed to open library '%s' - %u",
|
||||
cd->dl_path, error);
|
||||
result = ISC_R_FAILURE;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
|
|
@ -281,6 +284,7 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||
cd->dlz_findzonedb == NULL)
|
||||
{
|
||||
/* We're missing a required symbol */
|
||||
result = ISC_R_FAILURE;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue