[SERVER-21296] TypeMatchExpression::matches uses uninitialized member field Created: 04/Nov/15  Updated: 04/Nov/15  Resolved: 04/Nov/15

Status: Closed
Project: Core Server
Component/s: Querying
Affects Version/s: 3.2.0-rc2
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Mark Benvenuto Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-20833 Conditional jump or move depends on u... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Steps To Reproduce:

valgrind --tool=memcheck --num-callers=35 --soname-synonyms=somalloc=NONE --leak-check=full --suppressions=etc/valgrind.suppressions build/debug/mongo/db/matcher/expression_parser_test

Participants:

 Description   

TypeMatchExpression::initAsMatchingAllNumbers does not set _type.

==32767== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==32767== Command: build/debug/mongo/db/matcher/expression_parser_test
==32767==
==32767== Conditional jump or move depends on uninitialised value(s)
==32767==    at 0x8821BF: mongo::TypeMatchExpression::matches(mongo::MatchableDocument const*, mongo::MatchDetails*) const (expression_leaf.cpp:459)
==32767==    by 0x87B1FB: mongo::MatchExpression::matchesBSON(mongo::BSONObj const&, mongo::MatchDetails*) const (expression.cpp:55)
==32767==    by 0x8020EC: mongo::UnitTest__MatchExpressionParserLeafTest__TypeStringnameNumber::_doTest() (expression_parser_leaf_test.cpp:773)
==32767==    by 0x8BE98A: mongo::unittest::Test::run() (unittest.cpp:147)
==32767==    by 0x82679C: void mongo::unittest::Suite::runTestObject<mongo::UnitTest__MatchExpressionParserLeafTest__TypeStringnameNumber>() (unittest.h:405)
==32767==    by 0x7DFA58: std::_Function_handler<void (), void (*)()>::_M_invoke(std::_Any_data const&) (functional:1871)
==32767==    by 0x8C2269: std::function<void ()>::operator()() const (functional:2271)
==32767==    by 0x8C1B07: mongo::unittest::TestHolder::run() const (unittest.h:257)
==32767==    by 0x8BF8A1: mongo::unittest::Suite::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) (unittest.cpp:263)
==32767==    by 0x8C01E2: mongo::unittest::Suite::run(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) (unittest.cpp:321)
==32767==    by 0x8C656B: main (unittest_main.cpp:40)



 Comments   
Comment by J Rassi [ 04/Nov/15 ]

Closing as a dup of SERVER-20833.

Generated at Thu Feb 08 03:56:55 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.