Permalink
Browse files

ManifestParser constructor accesses its first argument, don't pass NULL

The constructor does

  env_ = &state->bindings_;

so env_ is effectively set to offsetof(ManifestParser, bindings_).  This
will blow up if env_ gets dereferenced -- this doesn't seem to happen in
these tests, but it's less confusing with this patch.  Also, passing &state is
consistent with the rest of this test.
  • Loading branch information...
1 parent 37b5ac7 commit 0fd3797f148a5ec1032f3a8f3b2747e8958128a0 @nico nico committed Jan 3, 2013
Showing with 6 additions and 3 deletions.
  1. +6 −3 src/manifest_parser_test.cc
@@ -295,7 +295,8 @@ TEST_F(ParserTest, ReservedWords) {
TEST_F(ParserTest, Errors) {
{
- ManifestParser parser(NULL, NULL);
+ State state;
+ ManifestParser parser(&state, NULL);
string err;
EXPECT_FALSE(parser.ParseTest("foobar", &err));
EXPECT_EQ("input:1: expected '=', got eof\n"
@@ -305,7 +306,8 @@ TEST_F(ParserTest, Errors) {
}
{
- ManifestParser parser(NULL, NULL);
+ State state;
+ ManifestParser parser(&state, NULL);
string err;
EXPECT_FALSE(parser.ParseTest("x 3", &err));
EXPECT_EQ("input:1: expected '=', got identifier\n"
@@ -315,7 +317,8 @@ TEST_F(ParserTest, Errors) {
}
{
- ManifestParser parser(NULL, NULL);
+ State state;
+ ManifestParser parser(&state, NULL);
string err;
EXPECT_FALSE(parser.ParseTest("x = 3", &err));
EXPECT_EQ("input:1: unexpected EOF\n"

0 comments on commit 0fd3797

Please sign in to comment.