ixfr-out, fix that when no zone is loaded, no difference is created.
@@ -1036,8 +1036,13 @@ int ixfr_create_from_difference(struct zone* zone, const char* zfile,
{
uint32_t old_serial;
*ixfr_create_already_done_flag = 0;
+ /* only if the zone is ixfr enabled */
if(!zone_is_ixfr_enabled(zone))
return 0;
+ /* only if there is a zone in memory to compare with */
+ if(!zone || !zone->soa_rrset || !zone->apex)
+ return 0;
+
old_serial = zone_get_current_serial(zone);
if(ixfr_create_already_done_serial(zone, zfile, 0, old_serial, 0)) {
*ixfr_create_already_done_flag = 1;
