]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2218] Check for NULL covering_node
authorMukund Sivaraman <muks@isc.org>
Wed, 19 Sep 2012 03:57:52 +0000 (09:27 +0530)
committerMukund Sivaraman <muks@isc.org>
Wed, 19 Sep 2012 03:57:52 +0000 (09:27 +0530)
src/lib/datasrc/memory/zone_finder.cc

index 59987cffb0c0e49cc77f88283d2c3adb18e8cc90..c608beee5542b8f0a967d10cf5d0637fd3d96a32 100644 (file)
@@ -687,7 +687,9 @@ InMemoryZoneFinder::findNSEC3(const isc::dns::Name& name, bool recursive) {
                                                         set,
                                                         getClass());
             ConstRRsetPtr next = createTreeNodeRRset(covering_node,
-                                                     covering_node->getData(),
+                                                     (covering_node != NULL ?
+                                                      covering_node->getData() :
+                                                      NULL),
                                                      getClass());
 
             LOG_DEBUG(logger, DBG_TRACE_BASIC,
@@ -719,12 +721,16 @@ InMemoryZoneFinder::findNSEC3(const isc::dns::Name& name, bool recursive) {
             if (!recursive) {   // in non recursive mode, we are done.
                 ConstRRsetPtr closest =
                     createTreeNodeRRset(covering_node,
-                                        covering_node->getData(),
+                                        (covering_node != NULL ?
+                                         covering_node->getData() :
+                                         NULL),
                                         getClass());
 
-                LOG_DEBUG(logger, DBG_TRACE_BASIC,
-                          DATASRC_MEM_FINDNSEC3_COVER).
-                    arg(name).arg(*closest);
+                if (closest) {
+                    LOG_DEBUG(logger, DBG_TRACE_BASIC,
+                              DATASRC_MEM_FINDNSEC3_COVER).
+                        arg(name).arg(*closest);
+                }
 
                 return (FindNSEC3Result(false, labels,
                                         closest, ConstRRsetPtr()));