mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-20 00:48:52 -04:00
3197. [bug] Don't try to log the filename and line number when
the config parser can't open a file. [RT #22263]
This commit is contained in:
parent
4dbd99bcae
commit
552162bb83
2 changed files with 23 additions and 4 deletions
3
CHANGES
3
CHANGES
|
|
@ -42,6 +42,9 @@
|
|||
|
||||
3183. [bug] Added RTLD_GLOBAL flag to dlopen call. [RT #26301]
|
||||
|
||||
3197. [bug] Don't try to log the filename and line number when
|
||||
the config parser can't open a file. [RT #22263]
|
||||
|
||||
--- 9.8.2 released ---
|
||||
|
||||
3298. [bug] Named could dereference a NULL pointer in
|
||||
|
|
|
|||
|
|
@ -2232,16 +2232,30 @@ cfg_parser_warning(cfg_parser_t *pctx, unsigned int flags, const char *fmt, ...)
|
|||
|
||||
#define MAX_LOG_TOKEN 30 /* How much of a token to quote in log messages. */
|
||||
|
||||
static isc_boolean_t
|
||||
have_current_file(cfg_parser_t *pctx) {
|
||||
cfg_listelt_t *elt;
|
||||
if (pctx->open_files == NULL)
|
||||
return (ISC_FALSE);
|
||||
|
||||
elt = ISC_LIST_TAIL(pctx->open_files->value.list);
|
||||
if (elt == NULL)
|
||||
return (ISC_FALSE);
|
||||
|
||||
return (ISC_TRUE);
|
||||
}
|
||||
|
||||
static char *
|
||||
current_file(cfg_parser_t *pctx) {
|
||||
static char none[] = "none";
|
||||
cfg_listelt_t *elt;
|
||||
cfg_obj_t *fileobj;
|
||||
|
||||
if (pctx->open_files == NULL)
|
||||
if (!have_current_file(pctx))
|
||||
return (none);
|
||||
|
||||
elt = ISC_LIST_TAIL(pctx->open_files->value.list);
|
||||
if (elt == NULL)
|
||||
if (elt == NULL) /* shouldn't be possible, but... */
|
||||
return (none);
|
||||
|
||||
fileobj = elt->obj;
|
||||
|
|
@ -2264,8 +2278,10 @@ parser_complain(cfg_parser_t *pctx, isc_boolean_t is_warning,
|
|||
if (is_warning)
|
||||
level = ISC_LOG_WARNING;
|
||||
|
||||
snprintf(where, sizeof(where), "%s:%u: ",
|
||||
current_file(pctx), pctx->line);
|
||||
where[0] = '\0';
|
||||
if (have_current_file(pctx))
|
||||
snprintf(where, sizeof(where), "%s:%u: ",
|
||||
current_file(pctx), pctx->line);
|
||||
|
||||
len = vsnprintf(message, sizeof(message), format, args);
|
||||
if (len >= sizeof(message))
|
||||
|
|
|
|||
Loading…
Reference in a new issue