]> granicus.if.org Git - pdns/commitdiff
Fix null pointer dereference on parsing error in ZoneParserTNG
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 22 Apr 2016 14:56:46 +0000 (16:56 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 26 Apr 2016 09:17:48 +0000 (11:17 +0200)
For example when parsing an unmatched '('

pdns/zoneparser-tng.cc

index 1e8c3ccb4b7d27c54f66ad6ee56edf6fc78537ef..0de245dcc848325db64bf23d65274d37d08413f6 100644 (file)
@@ -250,6 +250,9 @@ string ZoneParserTNG::getLineOfFile()
   if (d_zonedata.size() > 0)
     return "on line "+std::to_string(std::distance(d_zonedata.begin(), d_zonedataline))+" of given string";
 
+  if (d_filestates.empty())
+    return "";
+
   return "on line "+std::to_string(d_filestates.top().d_lineno)+" of file '"+d_filestates.top().d_filename+"'";
 }