mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-28 21:17:54 +00:00
1636. [bug] The dump done callback could get ISC_R_SUCCESS even if
a error had occured. The database version no longer matched the version of the database that was dumped.
This commit is contained in:
parent
97f1498dda
commit
4e681da26d
4
CHANGES
4
CHANGES
@ -1,3 +1,7 @@
|
||||
1636. [bug] The dump done callback could get ISC_R_SUCCESS even if
|
||||
a error had occured. The database version no longer
|
||||
matched the version of the database that was dumped.
|
||||
|
||||
1635. [bug] Memory leak on error in query_addds().
|
||||
|
||||
1634. [placeholder] rt11208
|
||||
|
@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: masterdump.c,v 1.73 2004/03/05 05:09:21 marka Exp $ */
|
||||
/* $Id: masterdump.c,v 1.74 2004/05/14 00:55:57 marka Exp $ */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@ -979,6 +979,7 @@ closeandrename(FILE *f, isc_result_t result, const char *temp, const char *file)
|
||||
static void
|
||||
dump_quantum(isc_task_t *task, isc_event_t *event) {
|
||||
isc_result_t result;
|
||||
isc_result_t tresult;
|
||||
dns_dumpctx_t *dctx;
|
||||
|
||||
REQUIRE(event != NULL);
|
||||
@ -994,11 +995,12 @@ dump_quantum(isc_task_t *task, isc_event_t *event) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (dctx->file != NULL)
|
||||
result = closeandrename(dctx->f, result,
|
||||
if (dctx->file != NULL) {
|
||||
tresult = closeandrename(dctx->f, result,
|
||||
dctx->tmpfile, dctx->file);
|
||||
if (dctx->version != NULL)
|
||||
dns_db_closeversion(dctx->db, &dctx->version, ISC_FALSE);
|
||||
if (tresult != ISC_R_SUCCESS && result == ISC_R_SUCCESS)
|
||||
result = tresult;
|
||||
}
|
||||
(dctx->done)(dctx->done_arg, result);
|
||||
isc_event_free(&event);
|
||||
dns_dumpctx_detach(&dctx);
|
||||
|
Loading…
x
Reference in New Issue
Block a user