Parcourir la source

[2371] catch NULL filename

JINMEI Tatuya il y a 12 ans
Parent
commit
7064994700
2 fichiers modifiés avec 7 ajouts et 0 suppressions
  1. 3 0
      src/lib/dns/master_lexer.cc
  2. 4 0
      src/lib/dns/tests/master_lexer_unittest.cc

+ 3 - 0
src/lib/dns/master_lexer.cc

@@ -66,6 +66,9 @@ MasterLexer::~MasterLexer() {
 
 void
 MasterLexer::open(const char* filename) {
+    if (filename == NULL) {
+        isc_throw(InvalidParameter, "NULL filename for MasterLexer::open");
+    }
     impl_->sources_.push_back(InputSourcePtr(new InputSource(filename)));
 }
 

+ 4 - 0
src/lib/dns/tests/master_lexer_unittest.cc

@@ -78,6 +78,10 @@ TEST_F(MasterLexerTest, openFile) {
     checkEmptySource(lexer);
 }
 
+TEST_F(MasterLexerTest, openBadFileName) {
+    EXPECT_THROW(lexer.open(NULL), isc::InvalidParameter);
+}
+
 TEST_F(MasterLexerTest, nestedOpen) {
     lexer.open(ss);
     EXPECT_EQ(expected_stream_name, lexer.getSourceName());