diff --git a/bin/dnssec/dnssec-signzone.c b/bin/dnssec/dnssec-signzone.c index c1a758bb28bc11deba00ccc667355a2fca8327b7..af3a50317fca1577cf8eac8fe7533c56d67f0a43 100644 --- a/bin/dnssec/dnssec-signzone.c +++ b/bin/dnssec/dnssec-signzone.c @@ -2806,10 +2806,10 @@ writeset(const char *prefix, dns_rdatatype_t type) { result = dns_name_tofilenametext(gorigin, ISC_FALSE, &namebuf); check_result(result, "dns_name_tofilenametext"); isc_buffer_putuint8(&namebuf, 0); - filenamelen = strlen(prefix) + strlen(namestr); + filenamelen = strlen(prefix) + strlen(namestr) + 1; if (dsdir != NULL) filenamelen += strlen(dsdir) + 1; - filename = isc_mem_get(mctx, filenamelen + 1); + filename = isc_mem_get(mctx, filenamelen); if (filename == NULL) fatal("out of memory"); if (dsdir != NULL) @@ -2916,7 +2916,7 @@ writeset(const char *prefix, dns_rdatatype_t type) { result = dns_master_dump(mctx, db, dbversion, style, filename); check_result(result, "dns_master_dump"); - isc_mem_put(mctx, filename, filenamelen + 1); + isc_mem_put(mctx, filename, filenamelen); dns_db_closeversion(db, &dbversion, ISC_FALSE); dns_db_detach(&db);