Created
June 16, 2016 16:38
-
-
Save zimmerle/9733074f945a463246e454359108b706 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ================================================ | |
| modsecurity 3.0: ./test-suite-memcheck.log | |
| ================================================ | |
| # TOTAL: 4553 | |
| # PASS: 4549 | |
| # SKIP: 0 | |
| # XFAIL: 0 | |
| # FAIL: 0 | |
| # XPASS: 0 | |
| # ERROR: 0 | |
| .. contents:: :depth: 2 | |
| RUN: test/test-cases/regression/actions.json | |
| ============================================ | |
| ==16880== Memcheck, a memory error detector | |
| ==16880== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16880== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16880== Command: ./regression_tests .././test/test-cases/regression/actions.json | |
| ==16880== | |
| :test-result: PASS actions.json:actions :: phase:2,trim,status:500,deny | |
| :test-result: PASS actions.json:actions :: phase:4,trim,status:500,deny | |
| :test-result: PASS actions.json:actions :: trim,deny | |
| :test-result: PASS actions.json:actions :: trim,redirect:'http://www.google.com' | |
| :test-result: PASS actions.json:actions :: trim,status:500 | |
| :test-result: PASS actions.json:actions :: trim,status:500,redirect:http://www.google.com | |
| ==16880== | |
| ==16880== HEAP SUMMARY: | |
| ==16880== in use at exit: 2,004,048 bytes in 633 blocks | |
| ==16880== total heap usage: 31,671 allocs, 31,038 frees, 3,660,945 bytes allocated | |
| ==16880== | |
| ==16880== 574 (552 direct, 22 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16880== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16880== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16880== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16880== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 714 bytes in 6 blocks are definitely lost in loss record 84 of 114 | |
| ==16880== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16880== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16880== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16880== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16880== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 2,049 bytes in 1 blocks are definitely lost in loss record 92 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16880== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16880== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16880== by 0x42FDF5: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:402) | |
| ==16880== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==16880== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==16880== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 2,049 bytes in 1 blocks are definitely lost in loss record 93 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x413A0F: operator<< <std::char_traits<char> > (ostream:561) | |
| ==16880== by 0x413A0F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16880== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16880== by 0x4303D7: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:495) | |
| ==16880== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==16880== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==16880== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 2,049 bytes in 1 blocks are definitely lost in loss record 94 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16880== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16880== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16880== by 0x414CE4: modsecurity::Transaction::processLogging(int) (transaction.cc:1141) | |
| ==16880== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 2,049 bytes in 1 blocks are definitely lost in loss record 95 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16880== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16880== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16880== by 0x414D43: modsecurity::Transaction::processLogging(int) (transaction.cc:1171) | |
| ==16880== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 2,049 bytes in 1 blocks are definitely lost in loss record 96 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16880== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16880== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16880== by 0x414BF9: modsecurity::Transaction::processLogging(int) (transaction.cc:1123) | |
| ==16880== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 2,049 bytes in 1 blocks are definitely lost in loss record 97 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16880== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16880== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==16880== by 0x414CA1: modsecurity::Transaction::processLogging(int) (transaction.cc:1134) | |
| ==16880== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 2,448 bytes in 6 blocks are definitely lost in loss record 98 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 2,808 (648 direct, 2,160 indirect) bytes in 6 blocks are definitely lost in loss record 99 of 114 | |
| ==16880== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16880== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16880== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16880== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16880== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 8,192 bytes in 1 blocks are possibly lost in loss record 101 of 114 | |
| ==16880== at 0x4C2E87B: operator new[](unsigned long) (vg_replace_malloc.c:423) | |
| ==16880== by 0x5BFA457: std::basic_filebuf<char, std::char_traits<char> >::_M_allocate_internal_buffer() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x5BFE6A1: std::basic_filebuf<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16880== by 0x42CE15: open (fstream:308) | |
| ==16880== by 0x42CE15: open (fstream:823) | |
| ==16880== by 0x42CE15: modsecurity::DebugLogWriterAgent::DebugLogWriterAgent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer_agent.cc:31) | |
| ==16880== by 0x42C27F: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16880== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16880== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16880== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16880== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 49,488 bytes in 6 blocks are definitely lost in loss record 107 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16880== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16880== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16880== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16880== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16880== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16880== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16880== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16880== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16880== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16880== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16880== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16880== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 49,872 (384 direct, 49,488 indirect) bytes in 6 blocks are definitely lost in loss record 108 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16880== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 49,872 (384 direct, 49,488 indirect) bytes in 6 blocks are definitely lost in loss record 109 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16880== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 49,872 (384 direct, 49,488 indirect) bytes in 6 blocks are definitely lost in loss record 110 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16880== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 49,872 (384 direct, 49,488 indirect) bytes in 6 blocks are definitely lost in loss record 111 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16880== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 81,826 (384 direct, 81,442 indirect) bytes in 6 blocks are definitely lost in loss record 113 of 114 | |
| ==16880== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16880== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16880== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16880== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== 1,572,864 bytes in 6 blocks are definitely lost in loss record 114 of 114 | |
| ==16880== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16880== by 0x40BA0F: Rules (rules.h:63) | |
| ==16880== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16880== by 0x407CCC: main (regression.cc:387) | |
| ==16880== | |
| ==16880== LEAK SUMMARY: | |
| ==16880== definitely lost: 1,640,928 bytes in 67 blocks | |
| ==16880== indirectly lost: 281,576 bytes in 560 blocks | |
| ==16880== possibly lost: 8,192 bytes in 1 blocks | |
| ==16880== still reachable: 73,352 bytes in 5 blocks | |
| ==16880== suppressed: 0 bytes in 0 blocks | |
| ==16880== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16880== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16880== | |
| ==16880== For counts of detected and suppressed errors, rerun with: -v | |
| ==16880== ERROR SUMMARY: 18 errors from 18 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/actions.json | |
| RUN: test/test-cases/regression/debug_log.json | |
| ============================================== | |
| ==16854== Memcheck, a memory error detector | |
| ==16854== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16854== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16854== Command: ./regression_tests .././test/test-cases/regression/debug_log.json | |
| ==16854== | |
| :test-result: PASS debug_log.json:Debug log | |
| ==16854== | |
| ==16854== HEAP SUMMARY: | |
| ==16854== in use at exit: 405,029 bytes in 118 blocks | |
| ==16854== total heap usage: 7,934 allocs, 7,816 frees, 1,007,172 bytes allocated | |
| ==16854== | |
| ==16854== 73 bytes in 1 blocks are definitely lost in loss record 29 of 90 | |
| ==16854== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16854== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16854== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16854== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16854== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 204 (108 direct, 96 indirect) bytes in 1 blocks are definitely lost in loss record 66 of 90 | |
| ==16854== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16854== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16854== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16854== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16854== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 408 bytes in 1 blocks are definitely lost in loss record 71 of 90 | |
| ==16854== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16854== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 4,097 bytes in 1 blocks are definitely lost in loss record 75 of 90 | |
| ==16854== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16854== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16854== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16854== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16854== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16854== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16854== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16854== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16854== by 0x414D43: modsecurity::Transaction::processLogging(int) (transaction.cc:1171) | |
| ==16854== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 8,248 bytes in 1 blocks are definitely lost in loss record 82 of 90 | |
| ==16854== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16854== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16854== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16854== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16854== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16854== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16854== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16854== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16854== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16854== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16854== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16854== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16854== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16854== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 83 of 90 | |
| ==16854== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16854== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16854== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 84 of 90 | |
| ==16854== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16854== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16854== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 85 of 90 | |
| ==16854== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16854== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16854== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 86 of 90 | |
| ==16854== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16854== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16854== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 87 of 90 | |
| ==16854== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16854== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16854== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16854== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16854== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16854== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 14,489 (64 direct, 14,425 indirect) bytes in 1 blocks are definitely lost in loss record 88 of 90 | |
| ==16854== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16854== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16854== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16854== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== 262,144 bytes in 1 blocks are definitely lost in loss record 90 of 90 | |
| ==16854== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16854== by 0x40BA0F: Rules (rules.h:63) | |
| ==16854== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16854== by 0x407CCC: main (regression.cc:387) | |
| ==16854== | |
| ==16854== LEAK SUMMARY: | |
| ==16854== definitely lost: 275,950 bytes in 12 blocks | |
| ==16854== indirectly lost: 55,727 bytes in 101 blocks | |
| ==16854== possibly lost: 0 bytes in 0 blocks | |
| ==16854== still reachable: 73,352 bytes in 5 blocks | |
| ==16854== suppressed: 0 bytes in 0 blocks | |
| ==16854== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16854== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16854== | |
| ==16854== For counts of detected and suppressed errors, rerun with: -v | |
| ==16854== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/debug_log.json | |
| RUN: test/test-cases/regression/config-include.json | |
| =================================================== | |
| ==16930== Memcheck, a memory error detector | |
| ==16930== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16930== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16930== Command: ./regression_tests .././test/test-cases/regression/config-include.json | |
| ==16930== | |
| :test-result: PASS config-include.json:Include (1/6) | |
| :test-result: PASS config-include.json:Include (2/6) | |
| :test-result: PASS config-include.json:Include (3/6) | |
| :test-result: PASS config-include.json:Include (4/6) | |
| :test-result: PASS config-include.json:Include (5/6) | |
| :test-result: PASS config-include.json:Include (6/6) | |
| ==16930== | |
| ==16930== HEAP SUMMARY: | |
| ==16930== in use at exit: 1,999,771 bytes in 512 blocks | |
| ==16930== total heap usage: 31,201 allocs, 30,689 frees, 3,869,564 bytes allocated | |
| ==16930== | |
| ==16930== 1,250 bytes in 6 blocks are definitely lost in loss record 60 of 83 | |
| ==16930== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16930== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16930== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16930== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16930== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 2,448 bytes in 6 blocks are definitely lost in loss record 64 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 2,808 (648 direct, 2,160 indirect) bytes in 6 blocks are definitely lost in loss record 65 of 83 | |
| ==16930== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16930== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16930== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16930== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16930== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 4,097 bytes in 1 blocks are definitely lost in loss record 66 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16930== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16930== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16930== by 0x414CE4: modsecurity::Transaction::processLogging(int) (transaction.cc:1141) | |
| ==16930== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 4,097 bytes in 1 blocks are definitely lost in loss record 67 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x5C1C8EC: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x413A48: endl<char, std::char_traits<char> > (ostream:591) | |
| ==16930== by 0x413A48: operator<< (ostream:113) | |
| ==16930== by 0x413A48: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16930== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==16930== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==16930== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 8,196 bytes in 4 blocks are definitely lost in loss record 69 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16930== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16930== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16930== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16930== by 0x42F380: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:369) | |
| ==16930== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==16930== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==16930== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 70 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16930== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16930== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16930== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16930== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 49,488 bytes in 6 blocks are definitely lost in loss record 76 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16930== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16930== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16930== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16930== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16930== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16930== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16930== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16930== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16930== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16930== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16930== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16930== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 49,872 (384 direct, 49,488 indirect) bytes in 6 blocks are definitely lost in loss record 77 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16930== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 49,872 (384 direct, 49,488 indirect) bytes in 6 blocks are definitely lost in loss record 78 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16930== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 49,872 (384 direct, 49,488 indirect) bytes in 6 blocks are definitely lost in loss record 79 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16930== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 49,872 (384 direct, 49,488 indirect) bytes in 6 blocks are definitely lost in loss record 80 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16930== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 72,917 (384 direct, 72,533 indirect) bytes in 6 blocks are definitely lost in loss record 82 of 83 | |
| ==16930== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16930== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16930== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16930== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== 1,572,864 bytes in 6 blocks are definitely lost in loss record 83 of 83 | |
| ==16930== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16930== by 0x40BA0F: Rules (rules.h:63) | |
| ==16930== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16930== by 0x407CCC: main (regression.cc:387) | |
| ==16930== | |
| ==16930== LEAK SUMMARY: | |
| ==16930== definitely lost: 1,645,560 bytes in 67 blocks | |
| ==16930== indirectly lost: 280,859 bytes in 440 blocks | |
| ==16930== possibly lost: 0 bytes in 0 blocks | |
| ==16930== still reachable: 73,352 bytes in 5 blocks | |
| ==16930== suppressed: 0 bytes in 0 blocks | |
| ==16930== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16930== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16930== | |
| ==16930== For counts of detected and suppressed errors, rerun with: -v | |
| ==16930== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/config-include.json | |
| RUN: test/test-cases/regression/variable-PATH_INFO.json | |
| ======================================================= | |
| ==16895== Memcheck, a memory error detector | |
| ==16895== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16895== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16895== Command: ./regression_tests .././test/test-cases/regression/variable-PATH_INFO.json | |
| ==16895== | |
| :test-result: PASS variable-PATH_INFO.json:Testing Variables :: PATH_INFO (1/3) | |
| :test-result: PASS variable-PATH_INFO.json:Testing Variables :: PATH_INFO (2/3) | |
| :test-result: PASS variable-PATH_INFO.json:Testing Variables :: PATH_INFO (3/3) | |
| ==16895== | |
| ==16895== HEAP SUMMARY: | |
| ==16895== in use at exit: 1,040,871 bytes in 295 blocks | |
| ==16895== total heap usage: 16,886 allocs, 16,591 frees, 2,012,986 bytes allocated | |
| ==16895== | |
| ==16895== 529 bytes in 3 blocks are definitely lost in loss record 69 of 92 | |
| ==16895== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16895== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16895== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16895== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16895== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 1,224 bytes in 3 blocks are definitely lost in loss record 74 of 92 | |
| ==16895== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16895== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 1,404 (324 direct, 1,080 indirect) bytes in 3 blocks are definitely lost in loss record 75 of 92 | |
| ==16895== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16895== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16895== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16895== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16895== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 2,049 bytes in 1 blocks are definitely lost in loss record 76 of 92 | |
| ==16895== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16895== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16895== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16895== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16895== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16895== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16895== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16895== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16895== by 0x414CE4: modsecurity::Transaction::processLogging(int) (transaction.cc:1141) | |
| ==16895== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 4,098 bytes in 2 blocks are definitely lost in loss record 77 of 92 | |
| ==16895== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16895== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16895== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16895== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16895== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16895== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16895== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16895== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==16895== by 0x414CA1: modsecurity::Transaction::processLogging(int) (transaction.cc:1134) | |
| ==16895== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 92 | |
| ==16895== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16895== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16895== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16895== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16895== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16895== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 24,744 bytes in 3 blocks are definitely lost in loss record 85 of 92 | |
| ==16895== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16895== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16895== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16895== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16895== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16895== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16895== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16895== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16895== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16895== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16895== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16895== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16895== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16895== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 86 of 92 | |
| ==16895== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16895== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16895== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 87 of 92 | |
| ==16895== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16895== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16895== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 88 of 92 | |
| ==16895== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16895== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16895== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 89 of 92 | |
| ==16895== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16895== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16895== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 38,529 (192 direct, 38,337 indirect) bytes in 3 blocks are definitely lost in loss record 90 of 92 | |
| ==16895== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16895== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16895== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16895== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== 786,432 bytes in 3 blocks are definitely lost in loss record 92 of 92 | |
| ==16895== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16895== by 0x40BA0F: Rules (rules.h:63) | |
| ==16895== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16895== by 0x407CCC: main (regression.cc:387) | |
| ==16895== | |
| ==16895== LEAK SUMMARY: | |
| ==16895== definitely lost: 820,912 bytes in 34 blocks | |
| ==16895== indirectly lost: 146,607 bytes in 256 blocks | |
| ==16895== possibly lost: 0 bytes in 0 blocks | |
| ==16895== still reachable: 73,352 bytes in 5 blocks | |
| ==16895== suppressed: 0 bytes in 0 blocks | |
| ==16895== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16895== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16895== | |
| ==16895== For counts of detected and suppressed errors, rerun with: -v | |
| ==16895== ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-PATH_INFO.json | |
| RUN: test/test-cases/regression/action-xmlns.json | |
| ================================================= | |
| ==16900== Memcheck, a memory error detector | |
| ==16900== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16900== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16900== Command: ./regression_tests .././test/test-cases/regression/action-xmlns.json | |
| ==16900== | |
| :test-result: PASS action-xmlns.json:Testing XML request body parser (validate ok) | |
| :test-result: PASS action-xmlns.json:Testing action :: XMLNS (parser error 1) | |
| :test-result: PASS action-xmlns.json:Testing action :: XMLNS (parser error 2) | |
| :test-result: PASS action-xmlns.json:Testing action :: XMLNS (parser error 3) | |
| ==16900== | |
| ==16900== HEAP SUMMARY: | |
| ==16900== in use at exit: 1,416,832 bytes in 3,683 blocks | |
| ==16900== total heap usage: 12,687 allocs, 9,004 frees, 2,269,603 bytes allocated | |
| ==16900== | |
| ==16900== 204 bytes in 1 blocks are definitely lost in loss record 676 of 786 | |
| ==16900== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16900== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16900== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16900== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16900== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 384 (72 direct, 312 indirect) bytes in 3 blocks are definitely lost in loss record 694 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x471962: yy::seclang_parser::parse() (seclang-parser.yy:1217) | |
| ==16900== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16900== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16900== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 441 (72 direct, 369 indirect) bytes in 3 blocks are definitely lost in loss record 698 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x47186D: yy::seclang_parser::parse() (seclang-parser.yy:725) | |
| ==16900== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16900== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16900== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 701 of 786 | |
| ==16900== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16900== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16900== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16900== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16900== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 538 bytes in 3 blocks are definitely lost in loss record 707 of 786 | |
| ==16900== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16900== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16900== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16900== by 0x40C91D: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:162) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 583 (456 direct, 127 indirect) bytes in 3 blocks are definitely lost in loss record 709 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x46DBE8: yy::seclang_parser::parse() (seclang-parser.yy:1150) | |
| ==16900== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16900== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16900== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 1,404 (324 direct, 1,080 indirect) bytes in 3 blocks are definitely lost in loss record 743 of 786 | |
| ==16900== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16900== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16900== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16900== by 0x40C91D: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:162) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 1,440 (336 direct, 1,104 indirect) bytes in 2 blocks are definitely lost in loss record 744 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x44CF1D: modsecurity::operators::Rx::Rx(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) (rx.h:40) | |
| ==16900== by 0x449E7A: modsecurity::operators::Operator::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (operator.cc:155) | |
| ==16900== by 0x4710FE: yy::seclang_parser::parse() (seclang-parser.yy:461) | |
| ==16900== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16900== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16900== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 1,725 (360 direct, 1,365 indirect) bytes in 3 blocks are definitely lost in loss record 754 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x449E64: modsecurity::operators::Operator::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (operator.cc:155) | |
| ==16900== by 0x4710FE: yy::seclang_parser::parse() (seclang-parser.yy:461) | |
| ==16900== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16900== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16900== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 3,171 (1,632 direct, 1,539 indirect) bytes in 4 blocks are definitely lost in loss record 763 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 4,097 bytes in 1 blocks are definitely lost in loss record 765 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16900== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16900== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16900== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16900== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16900== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16900== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16900== by 0x414BF9: modsecurity::Transaction::processLogging(int) (transaction.cc:1123) | |
| ==16900== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 8,248 bytes in 1 blocks are definitely lost in loss record 769 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16900== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16900== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16900== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16900== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16900== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16900== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16900== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16900== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16900== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16900== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16900== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16900== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 770 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16900== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 771 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16900== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 772 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16900== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 773 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16900== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 14,447 (64 direct, 14,383 indirect) bytes in 1 blocks are definitely lost in loss record 774 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16900== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16900== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 16,187 (3,576 direct, 12,611 indirect) bytes in 3 blocks are definitely lost in loss record 775 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x42818E: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:127) | |
| ==16900== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 100,182 (216 direct, 99,966 indirect) bytes in 3 blocks are definitely lost in loss record 782 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x40B4D6: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 262,144 bytes in 1 blocks are possibly lost in loss record 783 of 786 | |
| ==16900== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16900== by 0x40BA0F: Rules (rules.h:63) | |
| ==16900== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 262,144 bytes in 1 blocks are definitely lost in loss record 784 of 786 | |
| ==16900== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16900== by 0x40BA0F: Rules (rules.h:63) | |
| ==16900== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== 531,515 (4,368 direct, 527,147 indirect) bytes in 3 blocks are definitely lost in loss record 786 of 786 | |
| ==16900== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16900== by 0x40B54F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16900== by 0x407CCC: main (regression.cc:387) | |
| ==16900== | |
| ==16900== LEAK SUMMARY: | |
| ==16900== definitely lost: 287,071 bytes in 43 blocks | |
| ==16900== indirectly lost: 693,355 bytes in 267 blocks | |
| ==16900== possibly lost: 262,144 bytes in 1 blocks | |
| ==16900== still reachable: 174,262 bytes in 3,372 blocks | |
| ==16900== suppressed: 0 bytes in 0 blocks | |
| ==16900== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16900== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16900== | |
| ==16900== For counts of detected and suppressed errors, rerun with: -v | |
| ==16900== ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/action-xmlns.json | |
| RUN: test/test-cases/regression/collection-tx.json | |
| ================================================== | |
| ==16912== Memcheck, a memory error detector | |
| ==16912== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16912== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16912== Command: ./regression_tests .././test/test-cases/regression/collection-tx.json | |
| ==16912== | |
| :test-result: PASS collection-tx.json:Testing collection :: TX (1/4) | |
| :test-result: PASS collection-tx.json:Testing collection :: TX (2/4) | |
| :test-result: PASS collection-tx.json:Testing collection :: TX (3/4) | |
| :test-result: PASS collection-tx.json:Testing collection :: TX (4/4) | |
| ==16912== | |
| ==16912== HEAP SUMMARY: | |
| ==16912== in use at exit: 1,385,815 bytes in 498 blocks | |
| ==16912== total heap usage: 23,716 allocs, 23,218 frees, 2,793,880 bytes allocated | |
| ==16912== | |
| ==16912== 320 bytes in 4 blocks are definitely lost in loss record 66 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x447899: allocate (new_allocator.h:104) | |
| ==16912== by 0x447899: allocate (alloc_traits.h:491) | |
| ==16912== by 0x447899: std::__detail::_Hash_node<std::pair<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> > >, true>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<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> > >, true> > >::_M_allocate_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) (hashtable_policy.h:1949) | |
| ==16912== by 0x446F2C: _M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (hashtable.h:1565) | |
| ==16912== by 0x446F2C: _M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (hashtable.h:671) | |
| ==16912== by 0x446F2C: emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (hashtable.h:726) | |
| ==16912== by 0x446F2C: emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (unordered_map.h:1128) | |
| ==16912== by 0x446F2C: modsecurity::collection::backend::InMemoryPerProcess::store(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (in_memory-per_process.cc:43) | |
| ==16912== by 0x445C0A: modsecurity::collection::backend::InMemoryPerProcess::storeOrUpdateFirst(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&) (in_memory-per_process.cc:50) | |
| ==16912== by 0x44412A: modsecurity::collection::Collections::storeOrUpdateFirst(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&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (collections.cc:85) | |
| ==16912== by 0x48B14A: modsecurity::actions::SetVar::evaluate(modsecurity::Rule*, modsecurity::Transaction*) (set_var.cc:141) | |
| ==16912== by 0x43040E: evaluate (action.h:114) | |
| ==16912== by 0x43040E: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:497) | |
| ==16912== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==16912== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==16912== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 636 bytes in 4 blocks are definitely lost in loss record 70 of 102 | |
| ==16912== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16912== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16912== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16912== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16912== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 1,632 bytes in 4 blocks are definitely lost in loss record 81 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 1,872 (432 direct, 1,440 indirect) bytes in 4 blocks are definitely lost in loss record 83 of 102 | |
| ==16912== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16912== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16912== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16912== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16912== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 8,193 bytes in 1 blocks are definitely lost in loss record 86 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16912== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16912== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16912== by 0x41F10F: modsecurity::Transaction::appendRequestBody(unsigned char const*, unsigned long) (transaction.cc:773) | |
| ==16912== by 0x40D3C7: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:250) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 8,193 bytes in 1 blocks are definitely lost in loss record 87 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16912== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16912== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16912== by 0x430632: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:503) | |
| ==16912== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==16912== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==16912== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 8,194 bytes in 2 blocks are definitely lost in loss record 88 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16912== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16912== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16912== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16912== by 0x42F73A: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:380) | |
| ==16912== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==16912== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==16912== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 89 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16912== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16912== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16912== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16912== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 32,992 bytes in 4 blocks are definitely lost in loss record 95 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16912== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16912== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16912== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16912== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16912== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16912== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16912== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16912== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16912== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16912== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16912== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16912== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 96 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16912== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 97 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16912== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 98 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16912== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 99 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16912== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 60,097 (256 direct, 59,841 indirect) bytes in 4 blocks are definitely lost in loss record 100 of 102 | |
| ==16912== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16912== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16912== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16912== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== 1,048,576 bytes in 4 blocks are definitely lost in loss record 102 of 102 | |
| ==16912== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16912== by 0x40BA0F: Rules (rules.h:63) | |
| ==16912== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16912== by 0x407CCC: main (regression.cc:387) | |
| ==16912== | |
| ==16912== LEAK SUMMARY: | |
| ==16912== definitely lost: 1,111,000 bytes in 49 blocks | |
| ==16912== indirectly lost: 201,463 bytes in 444 blocks | |
| ==16912== possibly lost: 0 bytes in 0 blocks | |
| ==16912== still reachable: 73,352 bytes in 5 blocks | |
| ==16912== suppressed: 0 bytes in 0 blocks | |
| ==16912== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16912== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16912== | |
| ==16912== For counts of detected and suppressed errors, rerun with: -v | |
| ==16912== ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/collection-tx.json | |
| RUN: test/test-cases/regression/config-body_limits.json | |
| ======================================================= | |
| ==16896== Memcheck, a memory error detector | |
| ==16896== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16896== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16896== Command: ./regression_tests .././test/test-cases/regression/config-body_limits.json | |
| ==16896== | |
| :test-result: PASS config-body_limits.json:SecRequestBodyLimitAction ProcessPartial | |
| :test-result: PASS config-body_limits.json:SecRequestBodyLimitAction Reject | |
| :test-result: PASS config-body_limits.json:SecResponseBodyLimitAction ProcessPartial | |
| :test-result: PASS config-body_limits.json:SecResponseBodyLimitAction Reject | |
| ==16896== | |
| ==16896== HEAP SUMMARY: | |
| ==16896== in use at exit: 1,354,346 bytes in 325 blocks | |
| ==16896== total heap usage: 21,110 allocs, 20,785 frees, 2,509,130 bytes allocated | |
| ==16896== | |
| ==16896== 292 bytes in 4 blocks are definitely lost in loss record 38 of 87 | |
| ==16896== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16896== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16896== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16896== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16896== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 816 (432 direct, 384 indirect) bytes in 4 blocks are definitely lost in loss record 68 of 87 | |
| ==16896== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16896== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16896== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16896== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16896== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 1,025 bytes in 1 blocks are definitely lost in loss record 70 of 87 | |
| ==16896== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16896== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16896== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16896== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16896== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16896== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16896== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16896== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16896== by 0x41F2D4: modsecurity::Transaction::appendRequestBody(unsigned char const*, unsigned long) (transaction.cc:780) | |
| ==16896== by 0x40D3C7: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:250) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 1,632 bytes in 4 blocks are definitely lost in loss record 71 of 87 | |
| ==16896== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16896== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 6,147 bytes in 3 blocks are definitely lost in loss record 72 of 87 | |
| ==16896== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16896== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16896== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16896== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16896== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16896== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16896== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16896== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16896== by 0x414CE4: modsecurity::Transaction::processLogging(int) (transaction.cc:1141) | |
| ==16896== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 74 of 87 | |
| ==16896== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16896== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16896== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16896== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16896== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16896== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 32,992 bytes in 4 blocks are definitely lost in loss record 80 of 87 | |
| ==16896== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16896== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16896== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16896== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16896== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16896== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16896== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16896== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16896== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16896== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16896== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16896== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16896== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16896== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 81 of 87 | |
| ==16896== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16896== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16896== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 82 of 87 | |
| ==16896== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16896== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16896== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 83 of 87 | |
| ==16896== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16896== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16896== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 84 of 87 | |
| ==16896== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16896== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16896== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 47,756 (256 direct, 47,500 indirect) bytes in 4 blocks are definitely lost in loss record 85 of 87 | |
| ==16896== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16896== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16896== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16896== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== 1,048,576 bytes in 4 blocks are definitely lost in loss record 87 of 87 | |
| ==16896== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16896== by 0x40BA0F: Rules (rules.h:63) | |
| ==16896== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16896== by 0x407CCC: main (regression.cc:387) | |
| ==16896== | |
| ==16896== LEAK SUMMARY: | |
| ==16896== definitely lost: 1,092,928 bytes in 45 blocks | |
| ==16896== indirectly lost: 188,066 bytes in 275 blocks | |
| ==16896== possibly lost: 0 bytes in 0 blocks | |
| ==16896== still reachable: 73,352 bytes in 5 blocks | |
| ==16896== suppressed: 0 bytes in 0 blocks | |
| ==16896== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16896== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16896== | |
| ==16896== For counts of detected and suppressed errors, rerun with: -v | |
| ==16896== ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/config-body_limits.json | |
| RUN: test/test-cases/regression/variable-RESPONSE_BODY.json | |
| =========================================================== | |
| ==16924== Memcheck, a memory error detector | |
| ==16924== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16924== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16924== Command: ./regression_tests .././test/test-cases/regression/variable-RESPONSE_BODY.json | |
| ==16924== | |
| :test-result: PASS variable-RESPONSE_BODY.json:Testing Variables :: RESPONSE_BODY | |
| ==16924== | |
| ==16924== HEAP SUMMARY: | |
| ==16924== in use at exit: 401,009 bytes in 92 blocks | |
| ==16924== total heap usage: 7,519 allocs, 7,427 frees, 960,750 bytes allocated | |
| ==16924== | |
| ==16924== 170 bytes in 1 blocks are definitely lost in loss record 59 of 81 | |
| ==16924== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16924== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16924== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16924== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16924== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 408 bytes in 1 blocks are definitely lost in loss record 63 of 81 | |
| ==16924== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16924== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 64 of 81 | |
| ==16924== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16924== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16924== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16924== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16924== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 2,049 bytes in 1 blocks are definitely lost in loss record 66 of 81 | |
| ==16924== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16924== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16924== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16924== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16924== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16924== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16924== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16924== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16924== by 0x430632: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:503) | |
| ==16924== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==16924== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==16924== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 8,248 bytes in 1 blocks are definitely lost in loss record 73 of 81 | |
| ==16924== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16924== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16924== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16924== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16924== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16924== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16924== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16924== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16924== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16924== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16924== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16924== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16924== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16924== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 74 of 81 | |
| ==16924== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16924== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16924== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 81 | |
| ==16924== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16924== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16924== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 81 | |
| ==16924== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16924== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16924== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 81 | |
| ==16924== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16924== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16924== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 81 | |
| ==16924== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16924== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16924== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16924== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16924== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16924== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 12,156 (64 direct, 12,092 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 81 | |
| ==16924== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16924== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16924== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16924== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== 262,144 bytes in 1 blocks are definitely lost in loss record 81 of 81 | |
| ==16924== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16924== by 0x40BA0F: Rules (rules.h:63) | |
| ==16924== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16924== by 0x407CCC: main (regression.cc:387) | |
| ==16924== | |
| ==16924== LEAK SUMMARY: | |
| ==16924== definitely lost: 273,999 bytes in 12 blocks | |
| ==16924== indirectly lost: 53,658 bytes in 75 blocks | |
| ==16924== possibly lost: 0 bytes in 0 blocks | |
| ==16924== still reachable: 73,352 bytes in 5 blocks | |
| ==16924== suppressed: 0 bytes in 0 blocks | |
| ==16924== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16924== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16924== | |
| ==16924== For counts of detected and suppressed errors, rerun with: -v | |
| ==16924== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-RESPONSE_BODY.json | |
| RUN: test/test-cases/regression/action-ctl_request_body_processor.json | |
| ====================================================================== | |
| ==16897== Memcheck, a memory error detector | |
| ==16897== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16897== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16897== Command: ./regression_tests .././test/test-cases/regression/action-ctl_request_body_processor.json | |
| ==16897== | |
| :test-result: PASS action-ctl_request_body_processor.json:Testing CtlRequestBodyProcessor=XML (1) | |
| :test-result: PASS action-ctl_request_body_processor.json:Testing CtlRequestBodyProcessor=XML (2) | |
| body.xml:1: parser error : Document is empty | |
| not a xml | |
| ^ | |
| :test-result: PASS action-ctl_request_body_processor.json:Testing CtlRequestBodyProcessor=XML (3) | |
| ==16897== | |
| ==16897== HEAP SUMMARY: | |
| ==16897== in use at exit: 1,041,035 bytes in 330 blocks | |
| ==16897== total heap usage: 17,544 allocs, 17,214 frees, 2,184,088 bytes allocated | |
| ==16897== | |
| ==16897== 516 bytes in 3 blocks are definitely lost in loss record 93 of 118 | |
| ==16897== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16897== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16897== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16897== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16897== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 1,224 bytes in 3 blocks are definitely lost in loss record 97 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 1,404 (324 direct, 1,080 indirect) bytes in 3 blocks are definitely lost in loss record 99 of 118 | |
| ==16897== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16897== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16897== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16897== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16897== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 2,049 bytes in 1 blocks are definitely lost in loss record 102 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x5C1C8EC: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x413A48: endl<char, std::char_traits<char> > (ostream:591) | |
| ==16897== by 0x413A48: operator<< (ostream:113) | |
| ==16897== by 0x413A48: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16897== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==16897== by 0x414CA1: modsecurity::Transaction::processLogging(int) (transaction.cc:1134) | |
| ==16897== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 2,049 bytes in 1 blocks are definitely lost in loss record 103 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16897== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16897== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16897== by 0x43E9C3: debug (xml.h:56) | |
| ==16897== by 0x43E9C3: modsecurity::RequestBodyProcessor::XML::complete() (xml.cc:124) | |
| ==16897== by 0x41CBBB: modsecurity::Transaction::processRequestBody() (transaction.cc:597) | |
| ==16897== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 3,595 (840 direct, 2,755 indirect) bytes in 5 blocks are definitely lost in loss record 104 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x44CF1D: modsecurity::operators::Rx::Rx(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) (rx.h:40) | |
| ==16897== by 0x449E7A: modsecurity::operators::Operator::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (operator.cc:155) | |
| ==16897== by 0x4710FE: yy::seclang_parser::parse() (seclang-parser.yy:461) | |
| ==16897== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16897== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16897== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 4,097 bytes in 1 blocks are definitely lost in loss record 105 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16897== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16897== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16897== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16897== by 0x414BF9: modsecurity::Transaction::processLogging(int) (transaction.cc:1123) | |
| ==16897== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 24,744 bytes in 3 blocks are definitely lost in loss record 111 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16897== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16897== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16897== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16897== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16897== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16897== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16897== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16897== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16897== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16897== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16897== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16897== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 112 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16897== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 113 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16897== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 114 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16897== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 115 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16897== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 41,339 (192 direct, 41,147 indirect) bytes in 3 blocks are definitely lost in loss record 116 of 118 | |
| ==16897== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16897== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16897== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16897== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== 786,432 bytes in 3 blocks are definitely lost in loss record 118 of 118 | |
| ==16897== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16897== by 0x40BA0F: Rules (rules.h:63) | |
| ==16897== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16897== by 0x407CCC: main (regression.cc:387) | |
| ==16897== | |
| ==16897== LEAK SUMMARY: | |
| ==16897== definitely lost: 823,235 bytes in 38 blocks | |
| ==16897== indirectly lost: 143,958 bytes in 268 blocks | |
| ==16897== possibly lost: 0 bytes in 0 blocks | |
| ==16897== still reachable: 73,842 bytes in 24 blocks | |
| ==16897== suppressed: 0 bytes in 0 blocks | |
| ==16897== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16897== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16897== | |
| ==16897== For counts of detected and suppressed errors, rerun with: -v | |
| ==16897== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/action-ctl_request_body_processor.json | |
| RUN: test/test-cases/regression/variable-QUERY_STRING.json | |
| ========================================================== | |
| ==16928== Memcheck, a memory error detector | |
| ==16928== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16928== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16928== Command: ./regression_tests .././test/test-cases/regression/variable-QUERY_STRING.json | |
| ==16928== | |
| :test-result: PASS variable-QUERY_STRING.json:Testing Variables :: QUERY_STRING | |
| ==16928== | |
| ==16928== HEAP SUMMARY: | |
| ==16928== in use at exit: 401,459 bytes in 97 blocks | |
| ==16928== total heap usage: 7,575 allocs, 7,478 frees, 965,132 bytes allocated | |
| ==16928== | |
| ==16928== 175 bytes in 1 blocks are definitely lost in loss record 60 of 82 | |
| ==16928== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16928== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16928== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16928== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16928== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 408 bytes in 1 blocks are definitely lost in loss record 64 of 82 | |
| ==16928== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16928== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 65 of 82 | |
| ==16928== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16928== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16928== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16928== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16928== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 2,049 bytes in 1 blocks are definitely lost in loss record 67 of 82 | |
| ==16928== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16928== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16928== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16928== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16928== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16928== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16928== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16928== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16928== by 0x41F93C: modsecurity::Transaction::processResponseBody() (transaction.cc:949) | |
| ==16928== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 8,248 bytes in 1 blocks are definitely lost in loss record 74 of 82 | |
| ==16928== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16928== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16928== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16928== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16928== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16928== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16928== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16928== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16928== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16928== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16928== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16928== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16928== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16928== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 82 | |
| ==16928== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16928== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16928== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 82 | |
| ==16928== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16928== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16928== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 82 | |
| ==16928== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16928== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16928== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 82 | |
| ==16928== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16928== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16928== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 82 | |
| ==16928== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16928== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16928== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16928== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16928== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16928== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 12,601 (64 direct, 12,537 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 82 | |
| ==16928== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16928== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16928== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16928== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== 262,144 bytes in 1 blocks are definitely lost in loss record 82 of 82 | |
| ==16928== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16928== by 0x40BA0F: Rules (rules.h:63) | |
| ==16928== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16928== by 0x407CCC: main (regression.cc:387) | |
| ==16928== | |
| ==16928== LEAK SUMMARY: | |
| ==16928== definitely lost: 274,004 bytes in 12 blocks | |
| ==16928== indirectly lost: 54,103 bytes in 80 blocks | |
| ==16928== possibly lost: 0 bytes in 0 blocks | |
| ==16928== still reachable: 73,352 bytes in 5 blocks | |
| ==16928== suppressed: 0 bytes in 0 blocks | |
| ==16928== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16928== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16928== | |
| ==16928== For counts of detected and suppressed errors, rerun with: -v | |
| ==16928== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-QUERY_STRING.json | |
| RUN: test/test-cases/regression/variable-REQUEST_LINE.json | |
| ========================================================== | |
| ==16878== Memcheck, a memory error detector | |
| ==16878== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16878== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16878== Command: ./regression_tests .././test/test-cases/regression/variable-REQUEST_LINE.json | |
| ==16878== | |
| :test-result: PASS variable-REQUEST_LINE.json:Testing Variables :: REQUEST_LINE | |
| ==16878== | |
| ==16878== HEAP SUMMARY: | |
| ==16878== in use at exit: 401,071 bytes in 92 blocks | |
| ==16878== total heap usage: 7,525 allocs, 7,433 frees, 961,786 bytes allocated | |
| ==16878== | |
| ==16878== 232 bytes in 1 blocks are definitely lost in loss record 59 of 81 | |
| ==16878== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16878== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16878== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16878== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16878== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 408 bytes in 1 blocks are definitely lost in loss record 63 of 81 | |
| ==16878== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16878== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 64 of 81 | |
| ==16878== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16878== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16878== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16878== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16878== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 2,049 bytes in 1 blocks are definitely lost in loss record 66 of 81 | |
| ==16878== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16878== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16878== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16878== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16878== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16878== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16878== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16878== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16878== by 0x41F93C: modsecurity::Transaction::processResponseBody() (transaction.cc:949) | |
| ==16878== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 8,248 bytes in 1 blocks are definitely lost in loss record 73 of 81 | |
| ==16878== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16878== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16878== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16878== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16878== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16878== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16878== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16878== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16878== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16878== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16878== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16878== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16878== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16878== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 74 of 81 | |
| ==16878== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16878== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16878== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 81 | |
| ==16878== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16878== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16878== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 81 | |
| ==16878== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16878== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16878== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 81 | |
| ==16878== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16878== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16878== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 81 | |
| ==16878== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16878== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16878== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16878== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16878== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16878== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 12,156 (64 direct, 12,092 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 81 | |
| ==16878== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16878== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16878== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16878== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== 262,144 bytes in 1 blocks are definitely lost in loss record 81 of 81 | |
| ==16878== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16878== by 0x40BA0F: Rules (rules.h:63) | |
| ==16878== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16878== by 0x407CCC: main (regression.cc:387) | |
| ==16878== | |
| ==16878== LEAK SUMMARY: | |
| ==16878== definitely lost: 274,061 bytes in 12 blocks | |
| ==16878== indirectly lost: 53,658 bytes in 75 blocks | |
| ==16878== possibly lost: 0 bytes in 0 blocks | |
| ==16878== still reachable: 73,352 bytes in 5 blocks | |
| ==16878== suppressed: 0 bytes in 0 blocks | |
| ==16878== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16878== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16878== | |
| ==16878== For counts of detected and suppressed errors, rerun with: -v | |
| ==16878== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-REQUEST_LINE.json | |
| RUN: test/test-cases/regression/variable-RESPONSE_HEADERS.json | |
| ============================================================== | |
| ==16885== Memcheck, a memory error detector | |
| ==16885== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16885== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16885== Command: ./regression_tests .././test/test-cases/regression/variable-RESPONSE_HEADERS.json | |
| ==16885== | |
| :test-result: PASS variable-RESPONSE_HEADERS.json:Testing Variables :: RESPONSE_HEADERS | |
| ==16885== | |
| ==16885== HEAP SUMMARY: | |
| ==16885== in use at exit: 405,832 bytes in 122 blocks | |
| ==16885== total heap usage: 7,798 allocs, 7,676 frees, 990,393 bytes allocated | |
| ==16885== | |
| ==16885== 229 bytes in 1 blocks are definitely lost in loss record 83 of 107 | |
| ==16885== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16885== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16885== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16885== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16885== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 408 bytes in 1 blocks are definitely lost in loss record 86 of 107 | |
| ==16885== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16885== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 87 of 107 | |
| ==16885== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16885== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16885== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16885== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16885== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 4,097 bytes in 1 blocks are definitely lost in loss record 92 of 107 | |
| ==16885== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16885== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16885== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16885== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16885== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16885== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16885== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16885== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16885== by 0x42F73A: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:380) | |
| ==16885== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==16885== by 0x4143CC: modsecurity::Transaction::processResponseHeaders() (transaction.cc:838) | |
| ==16885== by 0x40D577: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:263) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 8,248 bytes in 1 blocks are definitely lost in loss record 99 of 107 | |
| ==16885== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16885== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16885== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16885== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16885== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16885== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16885== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16885== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16885== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16885== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16885== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16885== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16885== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16885== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 100 of 107 | |
| ==16885== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16885== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16885== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 101 of 107 | |
| ==16885== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16885== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16885== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 102 of 107 | |
| ==16885== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16885== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16885== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 103 of 107 | |
| ==16885== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16885== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16885== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 104 of 107 | |
| ==16885== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16885== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16885== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16885== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16885== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16885== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 14,872 (64 direct, 14,808 indirect) bytes in 1 blocks are definitely lost in loss record 105 of 107 | |
| ==16885== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16885== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16885== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16885== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== 262,144 bytes in 1 blocks are definitely lost in loss record 107 of 107 | |
| ==16885== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16885== by 0x40BA0F: Rules (rules.h:63) | |
| ==16885== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16885== by 0x407CCC: main (regression.cc:387) | |
| ==16885== | |
| ==16885== LEAK SUMMARY: | |
| ==16885== definitely lost: 276,106 bytes in 12 blocks | |
| ==16885== indirectly lost: 56,374 bytes in 105 blocks | |
| ==16885== possibly lost: 0 bytes in 0 blocks | |
| ==16885== still reachable: 73,352 bytes in 5 blocks | |
| ==16885== suppressed: 0 bytes in 0 blocks | |
| ==16885== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16885== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16885== | |
| ==16885== For counts of detected and suppressed errors, rerun with: -v | |
| ==16885== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-RESPONSE_HEADERS.json | |
| RUN: test/test-cases/regression/operator-rx.json | |
| ================================================ | |
| ==16920== Memcheck, a memory error detector | |
| ==16920== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16920== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16920== Command: ./regression_tests .././test/test-cases/regression/operator-rx.json | |
| ==16920== | |
| :test-result: PASS operator-rx.json:Testing Operator :: @rx | |
| ==16920== | |
| ==16920== HEAP SUMMARY: | |
| ==16920== in use at exit: 402,420 bytes in 109 blocks | |
| ==16920== total heap usage: 7,601 allocs, 7,492 frees, 974,865 bytes allocated | |
| ==16920== | |
| ==16920== 117 bytes in 1 blocks are definitely lost in loss record 65 of 93 | |
| ==16920== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16920== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16920== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16920== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16920== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 408 bytes in 1 blocks are definitely lost in loss record 74 of 93 | |
| ==16920== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16920== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 93 | |
| ==16920== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16920== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16920== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16920== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16920== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 727 (168 direct, 559 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 93 | |
| ==16920== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16920== by 0x44CF1D: modsecurity::operators::Rx::Rx(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) (rx.h:40) | |
| ==16920== by 0x449E7A: modsecurity::operators::Operator::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (operator.cc:155) | |
| ==16920== by 0x4717DE: yy::seclang_parser::parse() (seclang-parser.yy:431) | |
| ==16920== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16920== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16920== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 2,049 bytes in 1 blocks are definitely lost in loss record 78 of 93 | |
| ==16920== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16920== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16920== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16920== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16920== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16920== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16920== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16920== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==16920== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==16920== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 8,248 bytes in 1 blocks are definitely lost in loss record 85 of 93 | |
| ==16920== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16920== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16920== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16920== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16920== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16920== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16920== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16920== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16920== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16920== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16920== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16920== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16920== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16920== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 86 of 93 | |
| ==16920== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16920== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16920== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 87 of 93 | |
| ==16920== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16920== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16920== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 88 of 93 | |
| ==16920== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16920== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16920== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 89 of 93 | |
| ==16920== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16920== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16920== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 90 of 93 | |
| ==16920== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16920== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16920== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16920== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16920== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16920== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 12,893 (64 direct, 12,829 indirect) bytes in 1 blocks are definitely lost in loss record 91 of 93 | |
| ==16920== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16920== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16920== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16920== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== 262,144 bytes in 1 blocks are definitely lost in loss record 93 of 93 | |
| ==16920== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16920== by 0x40BA0F: Rules (rules.h:63) | |
| ==16920== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16920== by 0x407CCC: main (regression.cc:387) | |
| ==16920== | |
| ==16920== LEAK SUMMARY: | |
| ==16920== definitely lost: 274,114 bytes in 13 blocks | |
| ==16920== indirectly lost: 54,954 bytes in 91 blocks | |
| ==16920== possibly lost: 0 bytes in 0 blocks | |
| ==16920== still reachable: 73,352 bytes in 5 blocks | |
| ==16920== suppressed: 0 bytes in 0 blocks | |
| ==16920== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16920== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16920== | |
| ==16920== For counts of detected and suppressed errors, rerun with: -v | |
| ==16920== ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/operator-rx.json | |
| RUN: test/test-cases/regression/variable-ARGS.json | |
| ================================================== | |
| ==16923== Memcheck, a memory error detector | |
| ==16923== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16923== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16923== Command: ./regression_tests .././test/test-cases/regression/variable-ARGS.json | |
| ==16923== | |
| :test-result: PASS variable-ARGS.json:Testing Variables :: ARGS - GET (1/7) | |
| :test-result: PASS variable-ARGS.json:Testing Variables :: ARGS - GET (2/7) | |
| :test-result: PASS variable-ARGS.json:Testing Variables :: ARGS - POST (3/7) | |
| :test-result: PASS variable-ARGS.json:Testing Variables :: ARGS - POST (4/7) | |
| :test-result: PASS variable-ARGS.json:Testing Variables :: ARGS - POST (5/7) | |
| :test-result: PASS variable-ARGS.json:Testing Variables :: ARGS - POST (6/7) | |
| :test-result: PASS variable-ARGS.json:Testing Variables :: ARGS - POST (7/7) | |
| ==16923== | |
| ==16923== HEAP SUMMARY: | |
| ==16923== in use at exit: 2,316,641 bytes in 637 blocks | |
| ==16923== total heap usage: 35,333 allocs, 34,696 frees, 4,100,495 bytes allocated | |
| ==16923== | |
| ==16923== 919 bytes in 7 blocks are definitely lost in loss record 73 of 98 | |
| ==16923== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16923== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16923== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16923== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16923== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 2,049 bytes in 1 blocks are definitely lost in loss record 76 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16923== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16923== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==16923== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==16923== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 2,049 bytes in 1 blocks are definitely lost in loss record 77 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16923== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16923== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16923== by 0x414D43: modsecurity::Transaction::processLogging(int) (transaction.cc:1171) | |
| ==16923== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 2,049 bytes in 1 blocks are definitely lost in loss record 78 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16923== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16923== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16923== by 0x414CE4: modsecurity::Transaction::processLogging(int) (transaction.cc:1141) | |
| ==16923== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 2,856 bytes in 7 blocks are definitely lost in loss record 80 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 3,276 (756 direct, 2,520 indirect) bytes in 7 blocks are definitely lost in loss record 81 of 98 | |
| ==16923== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16923== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16923== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16923== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16923== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 4,098 bytes in 2 blocks are definitely lost in loss record 82 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16923== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16923== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16923== by 0x42014F: modsecurity::Transaction::appendResponseBody(unsigned char const*, unsigned long) (transaction.cc:1022) | |
| ==16923== by 0x40D5B7: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:271) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 4,098 bytes in 2 blocks are definitely lost in loss record 83 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16923== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16923== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16923== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16923== by 0x414BF9: modsecurity::Transaction::processLogging(int) (transaction.cc:1123) | |
| ==16923== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 85 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16923== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16923== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16923== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16923== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 57,736 bytes in 7 blocks are definitely lost in loss record 91 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16923== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16923== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16923== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16923== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16923== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16923== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16923== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16923== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16923== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16923== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16923== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16923== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 58,184 (448 direct, 57,736 indirect) bytes in 7 blocks are definitely lost in loss record 92 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16923== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 58,184 (448 direct, 57,736 indirect) bytes in 7 blocks are definitely lost in loss record 93 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16923== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 58,184 (448 direct, 57,736 indirect) bytes in 7 blocks are definitely lost in loss record 94 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16923== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 58,184 (448 direct, 57,736 indirect) bytes in 7 blocks are definitely lost in loss record 95 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16923== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 87,649 (448 direct, 87,201 indirect) bytes in 7 blocks are definitely lost in loss record 97 of 98 | |
| ==16923== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16923== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16923== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16923== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== 1,835,008 bytes in 7 blocks are definitely lost in loss record 98 of 98 | |
| ==16923== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16923== by 0x40BA0F: Rules (rules.h:63) | |
| ==16923== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16923== by 0x407CCC: main (regression.cc:387) | |
| ==16923== | |
| ==16923== LEAK SUMMARY: | |
| ==16923== definitely lost: 1,914,410 bytes in 78 blocks | |
| ==16923== indirectly lost: 328,879 bytes in 554 blocks | |
| ==16923== possibly lost: 0 bytes in 0 blocks | |
| ==16923== still reachable: 73,352 bytes in 5 blocks | |
| ==16923== suppressed: 0 bytes in 0 blocks | |
| ==16923== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16923== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16923== | |
| ==16923== For counts of detected and suppressed errors, rerun with: -v | |
| ==16923== ERROR SUMMARY: 16 errors from 16 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-ARGS.json | |
| RUN: test/test-cases/regression/issue-394.json | |
| ============================================== | |
| ==16911== Memcheck, a memory error detector | |
| ==16911== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16911== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16911== Command: ./regression_tests .././test/test-cases/regression/issue-394.json | |
| ==16911== | |
| :test-result: PASS issue-394.json:Segmentation fault when uploading file with SecStreamInBodyInspection enabled | |
| ==16911== | |
| ==16911== HEAP SUMMARY: | |
| ==16911== in use at exit: 398,083 bytes in 62 blocks | |
| ==16911== total heap usage: 7,377 allocs, 7,315 frees, 948,357 bytes allocated | |
| ==16911== | |
| ==16911== 73 bytes in 1 blocks are definitely lost in loss record 16 of 62 | |
| ==16911== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16911== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16911== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16911== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16911== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 204 (108 direct, 96 indirect) bytes in 1 blocks are definitely lost in loss record 44 of 62 | |
| ==16911== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16911== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16911== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16911== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16911== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 408 bytes in 1 blocks are definitely lost in loss record 45 of 62 | |
| ==16911== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16911== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 1,025 bytes in 1 blocks are definitely lost in loss record 47 of 62 | |
| ==16911== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16911== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16911== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16911== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16911== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16911== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16911== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16911== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16911== by 0x42014F: modsecurity::Transaction::appendResponseBody(unsigned char const*, unsigned long) (transaction.cc:1022) | |
| ==16911== by 0x40D5B7: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:271) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 8,248 bytes in 1 blocks are definitely lost in loss record 54 of 62 | |
| ==16911== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16911== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16911== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16911== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16911== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16911== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16911== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16911== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16911== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16911== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16911== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16911== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16911== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16911== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 55 of 62 | |
| ==16911== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16911== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16911== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 56 of 62 | |
| ==16911== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16911== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16911== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 57 of 62 | |
| ==16911== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16911== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16911== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 58 of 62 | |
| ==16911== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16911== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16911== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 59 of 62 | |
| ==16911== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16911== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16911== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16911== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16911== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16911== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 10,615 (64 direct, 10,551 indirect) bytes in 1 blocks are definitely lost in loss record 60 of 62 | |
| ==16911== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16911== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16911== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16911== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== 262,144 bytes in 1 blocks are definitely lost in loss record 62 of 62 | |
| ==16911== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16911== by 0x40BA0F: Rules (rules.h:63) | |
| ==16911== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16911== by 0x407CCC: main (regression.cc:387) | |
| ==16911== | |
| ==16911== LEAK SUMMARY: | |
| ==16911== definitely lost: 272,878 bytes in 12 blocks | |
| ==16911== indirectly lost: 51,853 bytes in 45 blocks | |
| ==16911== possibly lost: 0 bytes in 0 blocks | |
| ==16911== still reachable: 73,352 bytes in 5 blocks | |
| ==16911== suppressed: 0 bytes in 0 blocks | |
| ==16911== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16911== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16911== | |
| ==16911== For counts of detected and suppressed errors, rerun with: -v | |
| ==16911== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/issue-394.json | |
| RUN: test/test-cases/regression/variable-TIME_MON.json | |
| ====================================================== | |
| ==16916== Memcheck, a memory error detector | |
| ==16916== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16916== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16916== Command: ./regression_tests .././test/test-cases/regression/variable-TIME_MON.json | |
| ==16916== | |
| :test-result: PASS variable-TIME_MON.json:Testing Variables :: TIME_MON | |
| ==16916== | |
| ==16916== HEAP SUMMARY: | |
| ==16916== in use at exit: 401,471 bytes in 97 blocks | |
| ==16916== total heap usage: 7,575 allocs, 7,478 frees, 969,378 bytes allocated | |
| ==16916== | |
| ==16916== 187 bytes in 1 blocks are definitely lost in loss record 60 of 82 | |
| ==16916== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16916== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16916== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16916== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16916== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 408 bytes in 1 blocks are definitely lost in loss record 64 of 82 | |
| ==16916== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16916== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 65 of 82 | |
| ==16916== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16916== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16916== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16916== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16916== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 2,049 bytes in 1 blocks are definitely lost in loss record 67 of 82 | |
| ==16916== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16916== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16916== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16916== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16916== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16916== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16916== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16916== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16916== by 0x414BF9: modsecurity::Transaction::processLogging(int) (transaction.cc:1123) | |
| ==16916== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 8,248 bytes in 1 blocks are definitely lost in loss record 74 of 82 | |
| ==16916== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16916== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16916== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16916== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16916== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16916== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16916== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16916== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16916== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16916== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16916== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16916== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16916== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16916== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 82 | |
| ==16916== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16916== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16916== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 82 | |
| ==16916== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16916== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16916== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 82 | |
| ==16916== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16916== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16916== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 82 | |
| ==16916== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16916== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16916== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 82 | |
| ==16916== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16916== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16916== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16916== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16916== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16916== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 12,601 (64 direct, 12,537 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 82 | |
| ==16916== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16916== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16916== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16916== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== 262,144 bytes in 1 blocks are definitely lost in loss record 82 of 82 | |
| ==16916== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16916== by 0x40BA0F: Rules (rules.h:63) | |
| ==16916== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16916== by 0x407CCC: main (regression.cc:387) | |
| ==16916== | |
| ==16916== LEAK SUMMARY: | |
| ==16916== definitely lost: 274,016 bytes in 12 blocks | |
| ==16916== indirectly lost: 54,103 bytes in 80 blocks | |
| ==16916== possibly lost: 0 bytes in 0 blocks | |
| ==16916== still reachable: 73,352 bytes in 5 blocks | |
| ==16916== suppressed: 0 bytes in 0 blocks | |
| ==16916== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16916== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16916== | |
| ==16916== For counts of detected and suppressed errors, rerun with: -v | |
| ==16916== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-TIME_MON.json | |
| RUN: test/test-cases/regression/misc.json | |
| ========================================= | |
| ==16904== Memcheck, a memory error detector | |
| ==16904== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16904== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16904== Command: ./regression_tests .././test/test-cases/regression/misc.json | |
| ==16904== | |
| :test-result: PASS misc.json:Testing action :: SecRule directives should be case insensitive | |
| ==16904== | |
| ==16904== HEAP SUMMARY: | |
| ==16904== in use at exit: 399,524 bytes in 63 blocks | |
| ==16904== total heap usage: 7,323 allocs, 7,260 frees, 952,513 bytes allocated | |
| ==16904== | |
| ==16904== 226 bytes in 1 blocks are definitely lost in loss record 43 of 63 | |
| ==16904== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16904== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16904== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16904== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16904== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 408 bytes in 1 blocks are definitely lost in loss record 45 of 63 | |
| ==16904== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16904== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 46 of 63 | |
| ==16904== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16904== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16904== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16904== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16904== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 2,049 bytes in 1 blocks are definitely lost in loss record 48 of 63 | |
| ==16904== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16904== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16904== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16904== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16904== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16904== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16904== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16904== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16904== by 0x414D43: modsecurity::Transaction::processLogging(int) (transaction.cc:1171) | |
| ==16904== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 8,248 bytes in 1 blocks are definitely lost in loss record 55 of 63 | |
| ==16904== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16904== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16904== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16904== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16904== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16904== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16904== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16904== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16904== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16904== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16904== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16904== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16904== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16904== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 56 of 63 | |
| ==16904== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16904== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16904== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 57 of 63 | |
| ==16904== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16904== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16904== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 58 of 63 | |
| ==16904== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16904== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16904== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 59 of 63 | |
| ==16904== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16904== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16904== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 60 of 63 | |
| ==16904== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16904== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16904== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16904== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16904== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16904== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 10,615 (64 direct, 10,551 indirect) bytes in 1 blocks are definitely lost in loss record 61 of 63 | |
| ==16904== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16904== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16904== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16904== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== 262,144 bytes in 1 blocks are definitely lost in loss record 63 of 63 | |
| ==16904== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16904== by 0x40BA0F: Rules (rules.h:63) | |
| ==16904== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16904== by 0x407CCC: main (regression.cc:387) | |
| ==16904== | |
| ==16904== LEAK SUMMARY: | |
| ==16904== definitely lost: 274,055 bytes in 12 blocks | |
| ==16904== indirectly lost: 52,117 bytes in 46 blocks | |
| ==16904== possibly lost: 0 bytes in 0 blocks | |
| ==16904== still reachable: 73,352 bytes in 5 blocks | |
| ==16904== suppressed: 0 bytes in 0 blocks | |
| ==16904== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16904== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16904== | |
| ==16904== For counts of detected and suppressed errors, rerun with: -v | |
| ==16904== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/misc.json | |
| RUN: test/test-cases/regression/variable-REQUEST_HEADERS.json | |
| ============================================================= | |
| ==16929== Memcheck, a memory error detector | |
| ==16929== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16929== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16929== Command: ./regression_tests .././test/test-cases/regression/variable-REQUEST_HEADERS.json | |
| ==16929== | |
| :test-result: PASS variable-REQUEST_HEADERS.json:Testing Variables :: REQUEST_HEADERS | |
| ==16929== | |
| ==16929== HEAP SUMMARY: | |
| ==16929== in use at exit: 405,790 bytes in 122 blocks | |
| ==16929== total heap usage: 7,835 allocs, 7,713 frees, 994,380 bytes allocated | |
| ==16929== | |
| ==16929== 187 bytes in 1 blocks are definitely lost in loss record 83 of 107 | |
| ==16929== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16929== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16929== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16929== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16929== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 408 bytes in 1 blocks are definitely lost in loss record 86 of 107 | |
| ==16929== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16929== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 87 of 107 | |
| ==16929== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16929== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16929== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16929== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16929== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 4,097 bytes in 1 blocks are definitely lost in loss record 92 of 107 | |
| ==16929== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16929== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16929== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16929== by 0x5C1C8EC: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16929== by 0x413A48: endl<char, std::char_traits<char> > (ostream:591) | |
| ==16929== by 0x413A48: operator<< (ostream:113) | |
| ==16929== by 0x413A48: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16929== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16929== by 0x42F927: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:391) | |
| ==16929== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==16929== by 0x4143CC: modsecurity::Transaction::processResponseHeaders() (transaction.cc:838) | |
| ==16929== by 0x40D577: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:263) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 8,248 bytes in 1 blocks are definitely lost in loss record 99 of 107 | |
| ==16929== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16929== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16929== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16929== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16929== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16929== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16929== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16929== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16929== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16929== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16929== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16929== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16929== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16929== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 100 of 107 | |
| ==16929== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16929== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16929== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 101 of 107 | |
| ==16929== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16929== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16929== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 102 of 107 | |
| ==16929== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16929== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16929== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 103 of 107 | |
| ==16929== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16929== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16929== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 104 of 107 | |
| ==16929== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16929== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16929== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16929== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16929== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16929== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 14,872 (64 direct, 14,808 indirect) bytes in 1 blocks are definitely lost in loss record 105 of 107 | |
| ==16929== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16929== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16929== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16929== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== 262,144 bytes in 1 blocks are definitely lost in loss record 107 of 107 | |
| ==16929== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16929== by 0x40BA0F: Rules (rules.h:63) | |
| ==16929== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16929== by 0x407CCC: main (regression.cc:387) | |
| ==16929== | |
| ==16929== LEAK SUMMARY: | |
| ==16929== definitely lost: 276,064 bytes in 12 blocks | |
| ==16929== indirectly lost: 56,374 bytes in 105 blocks | |
| ==16929== possibly lost: 0 bytes in 0 blocks | |
| ==16929== still reachable: 73,352 bytes in 5 blocks | |
| ==16929== suppressed: 0 bytes in 0 blocks | |
| ==16929== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16929== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16929== | |
| ==16929== For counts of detected and suppressed errors, rerun with: -v | |
| ==16929== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-REQUEST_HEADERS.json | |
| RUN: test/test-cases/regression/variable-FULL_REQUEST_LENGTH.json | |
| ================================================================= | |
| ==16891== Memcheck, a memory error detector | |
| ==16891== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16891== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16891== Command: ./regression_tests .././test/test-cases/regression/variable-FULL_REQUEST_LENGTH.json | |
| ==16891== | |
| :test-result: PASS variable-FULL_REQUEST_LENGTH.json:Testing Variables :: FULL_REQUEST_LENGTH (1/1) | |
| ==16891== | |
| ==16891== HEAP SUMMARY: | |
| ==16891== in use at exit: 405,775 bytes in 122 blocks | |
| ==16891== total heap usage: 7,748 allocs, 7,626 frees, 986,089 bytes allocated | |
| ==16891== | |
| ==16891== 173 bytes in 1 blocks are definitely lost in loss record 83 of 107 | |
| ==16891== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16891== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16891== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16891== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16891== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 408 bytes in 1 blocks are definitely lost in loss record 86 of 107 | |
| ==16891== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16891== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 87 of 107 | |
| ==16891== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16891== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16891== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16891== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16891== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 4,097 bytes in 1 blocks are definitely lost in loss record 92 of 107 | |
| ==16891== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16891== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16891== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16891== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16891== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16891== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16891== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16891== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16891== by 0x414CE4: modsecurity::Transaction::processLogging(int) (transaction.cc:1141) | |
| ==16891== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 8,248 bytes in 1 blocks are definitely lost in loss record 99 of 107 | |
| ==16891== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16891== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16891== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16891== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16891== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16891== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16891== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16891== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16891== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16891== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16891== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16891== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16891== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16891== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 100 of 107 | |
| ==16891== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16891== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16891== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 101 of 107 | |
| ==16891== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16891== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16891== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 102 of 107 | |
| ==16891== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16891== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16891== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 103 of 107 | |
| ==16891== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16891== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16891== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 104 of 107 | |
| ==16891== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16891== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16891== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16891== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16891== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16891== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 14,871 (64 direct, 14,807 indirect) bytes in 1 blocks are definitely lost in loss record 105 of 107 | |
| ==16891== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16891== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16891== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16891== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== 262,144 bytes in 1 blocks are definitely lost in loss record 107 of 107 | |
| ==16891== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16891== by 0x40BA0F: Rules (rules.h:63) | |
| ==16891== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16891== by 0x407CCC: main (regression.cc:387) | |
| ==16891== | |
| ==16891== LEAK SUMMARY: | |
| ==16891== definitely lost: 276,050 bytes in 12 blocks | |
| ==16891== indirectly lost: 56,373 bytes in 105 blocks | |
| ==16891== possibly lost: 0 bytes in 0 blocks | |
| ==16891== still reachable: 73,352 bytes in 5 blocks | |
| ==16891== suppressed: 0 bytes in 0 blocks | |
| ==16891== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16891== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16891== | |
| ==16891== For counts of detected and suppressed errors, rerun with: -v | |
| ==16891== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-FULL_REQUEST_LENGTH.json | |
| RUN: test/test-cases/regression/variable-ARGS_NAMES.json | |
| ======================================================== | |
| ==16921== Memcheck, a memory error detector | |
| ==16921== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16921== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16921== Command: ./regression_tests .././test/test-cases/regression/variable-ARGS_NAMES.json | |
| ==16921== | |
| :test-result: PASS variable-ARGS_NAMES.json:Testing Variables :: ARGS_NAMES - GET (1/4) | |
| :test-result: PASS variable-ARGS_NAMES.json:Testing Variables :: ARGS_NAMES - GET (2/4) | |
| :test-result: PASS variable-ARGS_NAMES.json:Testing Variables :: ARGS_NAMES - POST (3/4) | |
| :test-result: PASS variable-ARGS_NAMES.json:Testing Variables :: ARGS_NAMES - POST (4/4) | |
| ==16921== | |
| ==16921== HEAP SUMMARY: | |
| ==16921== in use at exit: 1,358,337 bytes in 356 blocks | |
| ==16921== total heap usage: 21,328 allocs, 20,972 frees, 2,529,591 bytes allocated | |
| ==16921== | |
| ==16921== 492 bytes in 4 blocks are definitely lost in loss record 68 of 91 | |
| ==16921== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16921== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16921== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16921== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16921== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 1,632 bytes in 4 blocks are definitely lost in loss record 73 of 91 | |
| ==16921== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16921== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 1,872 (432 direct, 1,440 indirect) bytes in 4 blocks are definitely lost in loss record 74 of 91 | |
| ==16921== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16921== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16921== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16921== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16921== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 4,098 bytes in 2 blocks are definitely lost in loss record 75 of 91 | |
| ==16921== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16921== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16921== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16921== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16921== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16921== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16921== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16921== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==16921== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==16921== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 4,098 bytes in 2 blocks are definitely lost in loss record 76 of 91 | |
| ==16921== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16921== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16921== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16921== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16921== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16921== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16921== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16921== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16921== by 0x414CE4: modsecurity::Transaction::processLogging(int) (transaction.cc:1141) | |
| ==16921== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 91 | |
| ==16921== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16921== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16921== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16921== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16921== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16921== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 32,992 bytes in 4 blocks are definitely lost in loss record 84 of 91 | |
| ==16921== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16921== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16921== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16921== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16921== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16921== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16921== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16921== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16921== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16921== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16921== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16921== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16921== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16921== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 85 of 91 | |
| ==16921== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16921== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16921== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 86 of 91 | |
| ==16921== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16921== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16921== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 87 of 91 | |
| ==16921== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16921== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16921== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 88 of 91 | |
| ==16921== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16921== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16921== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 49,467 (256 direct, 49,211 indirect) bytes in 4 blocks are definitely lost in loss record 89 of 91 | |
| ==16921== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16921== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16921== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16921== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== 1,048,576 bytes in 4 blocks are definitely lost in loss record 91 of 91 | |
| ==16921== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16921== by 0x40BA0F: Rules (rules.h:63) | |
| ==16921== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16921== by 0x407CCC: main (regression.cc:387) | |
| ==16921== | |
| ==16921== LEAK SUMMARY: | |
| ==16921== definitely lost: 1,094,152 bytes in 45 blocks | |
| ==16921== indirectly lost: 190,833 bytes in 306 blocks | |
| ==16921== possibly lost: 0 bytes in 0 blocks | |
| ==16921== still reachable: 73,352 bytes in 5 blocks | |
| ==16921== suppressed: 0 bytes in 0 blocks | |
| ==16921== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16921== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16921== | |
| ==16921== For counts of detected and suppressed errors, rerun with: -v | |
| ==16921== ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-ARGS_NAMES.json | |
| RUN: test/test-cases/regression/variable-REQUEST_COOKIES_NAMES.json | |
| =================================================================== | |
| ==16988== Memcheck, a memory error detector | |
| ==16988== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16988== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16988== Command: ./regression_tests .././test/test-cases/regression/variable-REQUEST_COOKIES_NAMES.json | |
| ==16988== | |
| :test-result: PASS variable-REQUEST_COOKIES_NAMES.json:Testing Variables :: REQUEST_COOKIES_NAMES (1/3) | |
| :test-result: PASS variable-REQUEST_COOKIES_NAMES.json:Testing Variables :: REQUEST_COOKIES_NAMES (2/3) | |
| :test-result: PASS variable-REQUEST_COOKIES_NAMES.json:Testing Variables :: REQUEST_COOKIES_NAMES (3/3) | |
| ==16988== | |
| ==16988== HEAP SUMMARY: | |
| ==16988== in use at exit: 1,041,235 bytes in 305 blocks | |
| ==16988== total heap usage: 16,959 allocs, 16,654 frees, 2,018,168 bytes allocated | |
| ==16988== | |
| ==16988== 567 bytes in 3 blocks are definitely lost in loss record 63 of 86 | |
| ==16988== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16988== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16988== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16988== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16988== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 1,224 bytes in 3 blocks are definitely lost in loss record 69 of 86 | |
| ==16988== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16988== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 1,404 (324 direct, 1,080 indirect) bytes in 3 blocks are definitely lost in loss record 70 of 86 | |
| ==16988== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16988== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16988== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16988== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16988== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 6,147 bytes in 3 blocks are definitely lost in loss record 71 of 86 | |
| ==16988== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16988== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16988== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16988== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16988== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16988== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16988== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16988== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==16988== by 0x41F10F: modsecurity::Transaction::appendRequestBody(unsigned char const*, unsigned long) (transaction.cc:773) | |
| ==16988== by 0x40D3C7: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:250) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 73 of 86 | |
| ==16988== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16988== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16988== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16988== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16988== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16988== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 24,744 bytes in 3 blocks are definitely lost in loss record 79 of 86 | |
| ==16988== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16988== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16988== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16988== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16988== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16988== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16988== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16988== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16988== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16988== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16988== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16988== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16988== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16988== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 80 of 86 | |
| ==16988== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16988== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16988== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 81 of 86 | |
| ==16988== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16988== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16988== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 82 of 86 | |
| ==16988== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16988== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16988== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 83 of 86 | |
| ==16988== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16988== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16988== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 38,855 (192 direct, 38,663 indirect) bytes in 3 blocks are definitely lost in loss record 84 of 86 | |
| ==16988== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16988== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16988== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16988== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== 786,432 bytes in 3 blocks are definitely lost in loss record 86 of 86 | |
| ==16988== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16988== by 0x40BA0F: Rules (rules.h:63) | |
| ==16988== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16988== by 0x407CCC: main (regression.cc:387) | |
| ==16988== | |
| ==16988== LEAK SUMMARY: | |
| ==16988== definitely lost: 820,950 bytes in 34 blocks | |
| ==16988== indirectly lost: 146,933 bytes in 266 blocks | |
| ==16988== possibly lost: 0 bytes in 0 blocks | |
| ==16988== still reachable: 73,352 bytes in 5 blocks | |
| ==16988== suppressed: 0 bytes in 0 blocks | |
| ==16988== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16988== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16988== | |
| ==16988== For counts of detected and suppressed errors, rerun with: -v | |
| ==16988== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-REQUEST_COOKIES_NAMES.json | |
| RUN: test/test-cases/regression/variable-ARGS_GET_NAMES.json | |
| ============================================================ | |
| ==16989== Memcheck, a memory error detector | |
| ==16989== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==16989== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==16989== Command: ./regression_tests .././test/test-cases/regression/variable-ARGS_GET_NAMES.json | |
| ==16989== | |
| :test-result: PASS variable-ARGS_GET_NAMES.json:Testing Variables :: ARGS_GET_NAMES (1/2) | |
| :test-result: PASS variable-ARGS_GET_NAMES.json:Testing Variables :: ARGS_GET_NAMES (2/2) | |
| ==16989== | |
| ==16989== HEAP SUMMARY: | |
| ==16989== in use at exit: 719,788 bytes in 176 blocks | |
| ==16989== total heap usage: 12,087 allocs, 11,911 frees, 1,477,828 bytes allocated | |
| ==16989== | |
| ==16989== 234 bytes in 2 blocks are definitely lost in loss record 57 of 81 | |
| ==16989== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16989== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==16989== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==16989== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16989== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 816 bytes in 2 blocks are definitely lost in loss record 64 of 81 | |
| ==16989== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16989== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 936 (216 direct, 720 indirect) bytes in 2 blocks are definitely lost in loss record 65 of 81 | |
| ==16989== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16989== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==16989== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==16989== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==16989== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 4,098 bytes in 2 blocks are definitely lost in loss record 66 of 81 | |
| ==16989== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16989== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16989== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16989== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16989== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==16989== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==16989== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==16989== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==16989== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==16989== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 68 of 81 | |
| ==16989== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16989== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==16989== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==16989== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==16989== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==16989== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 16,496 bytes in 2 blocks are definitely lost in loss record 74 of 81 | |
| ==16989== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16989== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==16989== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==16989== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==16989== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==16989== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==16989== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==16989== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==16989== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==16989== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==16989== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==16989== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==16989== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16989== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 75 of 81 | |
| ==16989== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16989== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16989== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 76 of 81 | |
| ==16989== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16989== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16989== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 77 of 81 | |
| ==16989== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16989== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16989== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 78 of 81 | |
| ==16989== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16989== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==16989== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 24,306 (128 direct, 24,178 indirect) bytes in 2 blocks are definitely lost in loss record 79 of 81 | |
| ==16989== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==16989== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==16989== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==16989== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== 524,288 bytes in 2 blocks are definitely lost in loss record 81 of 81 | |
| ==16989== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==16989== by 0x40BA0F: Rules (rules.h:63) | |
| ==16989== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==16989== by 0x407CCC: main (regression.cc:387) | |
| ==16989== | |
| ==16989== LEAK SUMMARY: | |
| ==16989== definitely lost: 547,340 bytes in 23 blocks | |
| ==16989== indirectly lost: 99,096 bytes in 148 blocks | |
| ==16989== possibly lost: 0 bytes in 0 blocks | |
| ==16989== still reachable: 73,352 bytes in 5 blocks | |
| ==16989== suppressed: 0 bytes in 0 blocks | |
| ==16989== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==16989== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==16989== | |
| ==16989== For counts of detected and suppressed errors, rerun with: -v | |
| ==16989== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-ARGS_GET_NAMES.json | |
| RUN: test/test-cases/regression/variable-REMOTE_USER.json | |
| ========================================================= | |
| ==17066== Memcheck, a memory error detector | |
| ==17066== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17066== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17066== Command: ./regression_tests .././test/test-cases/regression/variable-REMOTE_USER.json | |
| ==17066== | |
| :test-result: PASS variable-REMOTE_USER.json:Testing Variables :: REMOTE_USER | |
| ==17066== | |
| ==17066== HEAP SUMMARY: | |
| ==17066== in use at exit: 401,684 bytes in 101 blocks | |
| ==17066== total heap usage: 7,602 allocs, 7,501 frees, 966,245 bytes allocated | |
| ==17066== | |
| ==17066== 105 bytes in 1 blocks are definitely lost in loss record 57 of 83 | |
| ==17066== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17066== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17066== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17066== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17066== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 408 bytes in 1 blocks are definitely lost in loss record 64 of 83 | |
| ==17066== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17066== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 65 of 83 | |
| ==17066== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17066== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17066== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17066== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17066== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 2,049 bytes in 1 blocks are definitely lost in loss record 68 of 83 | |
| ==17066== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17066== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17066== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17066== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17066== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17066== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17066== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17066== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17066== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==17066== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 8,248 bytes in 1 blocks are definitely lost in loss record 75 of 83 | |
| ==17066== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17066== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17066== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17066== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17066== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17066== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17066== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17066== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17066== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17066== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17066== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17066== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17066== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17066== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 83 | |
| ==17066== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17066== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17066== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 83 | |
| ==17066== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17066== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17066== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 83 | |
| ==17066== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17066== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17066== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 83 | |
| ==17066== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17066== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17066== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 83 | |
| ==17066== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17066== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17066== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17066== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17066== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17066== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 12,896 (64 direct, 12,832 indirect) bytes in 1 blocks are definitely lost in loss record 81 of 83 | |
| ==17066== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17066== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17066== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17066== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== 262,144 bytes in 1 blocks are definitely lost in loss record 83 of 83 | |
| ==17066== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17066== by 0x40BA0F: Rules (rules.h:63) | |
| ==17066== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17066== by 0x407CCC: main (regression.cc:387) | |
| ==17066== | |
| ==17066== LEAK SUMMARY: | |
| ==17066== definitely lost: 273,934 bytes in 12 blocks | |
| ==17066== indirectly lost: 54,398 bytes in 84 blocks | |
| ==17066== possibly lost: 0 bytes in 0 blocks | |
| ==17066== still reachable: 73,352 bytes in 5 blocks | |
| ==17066== suppressed: 0 bytes in 0 blocks | |
| ==17066== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17066== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17066== | |
| ==17066== For counts of detected and suppressed errors, rerun with: -v | |
| ==17066== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-REMOTE_USER.json | |
| RUN: test/test-cases/regression/action-msg.json | |
| =============================================== | |
| ==17083== Memcheck, a memory error detector | |
| ==17083== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17083== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17083== Command: ./regression_tests .././test/test-cases/regression/action-msg.json | |
| ==17083== | |
| :test-result: PASS action-msg.json:Testing action :: msg (this test is not really testing it) | |
| :test-result: PASS action-msg.json:Testing action :: msg - variable expansion | |
| ==17083== | |
| ==17083== HEAP SUMMARY: | |
| ==17083== in use at exit: 729,228 bytes in 241 blocks | |
| ==17083== total heap usage: 12,970 allocs, 12,729 frees, 1,577,616 bytes allocated | |
| ==17083== | |
| ==17083== 80 bytes in 1 blocks are definitely lost in loss record 30 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x447899: allocate (new_allocator.h:104) | |
| ==17083== by 0x447899: allocate (alloc_traits.h:491) | |
| ==17083== by 0x447899: std::__detail::_Hash_node<std::pair<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> > >, true>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<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> > >, true> > >::_M_allocate_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) (hashtable_policy.h:1949) | |
| ==17083== by 0x446F2C: _M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (hashtable.h:1565) | |
| ==17083== by 0x446F2C: _M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (hashtable.h:671) | |
| ==17083== by 0x446F2C: emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (hashtable.h:726) | |
| ==17083== by 0x446F2C: emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (unordered_map.h:1128) | |
| ==17083== by 0x446F2C: modsecurity::collection::backend::InMemoryPerProcess::store(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (in_memory-per_process.cc:43) | |
| ==17083== by 0x445C0A: modsecurity::collection::backend::InMemoryPerProcess::storeOrUpdateFirst(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&) (in_memory-per_process.cc:50) | |
| ==17083== by 0x44412A: modsecurity::collection::Collections::storeOrUpdateFirst(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&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (collections.cc:85) | |
| ==17083== by 0x4412F8: modsecurity::actions::Capture::evaluate(modsecurity::Rule*, modsecurity::Transaction*) (capture.cc:43) | |
| ==17083== by 0x43040E: evaluate (action.h:114) | |
| ==17083== by 0x43040E: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:497) | |
| ==17083== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17083== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17083== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 322 bytes in 2 blocks are definitely lost in loss record 74 of 101 | |
| ==17083== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17083== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17083== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17083== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17083== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 816 bytes in 2 blocks are definitely lost in loss record 81 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 936 (216 direct, 720 indirect) bytes in 2 blocks are definitely lost in loss record 83 of 101 | |
| ==17083== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17083== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17083== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17083== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17083== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 8,194 bytes in 2 blocks are definitely lost in loss record 86 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17083== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17083== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17083== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17083== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17083== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17083== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17083== by 0x430632: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:503) | |
| ==17083== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17083== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17083== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 8,248 bytes in 1 blocks are possibly lost in loss record 87 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17083== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17083== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17083== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17083== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17083== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17083== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17083== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17083== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17083== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17083== by 0x425192: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17083== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 8,376 (128 direct, 8,248 indirect) bytes in 2 blocks are definitely lost in loss record 89 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17083== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 90 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17083== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17083== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17083== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17083== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 16,496 bytes in 2 blocks are definitely lost in loss record 95 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17083== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17083== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17083== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17083== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17083== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17083== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17083== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17083== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17083== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17083== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17083== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17083== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 96 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17083== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 97 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17083== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 98 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17083== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 29,482 (128 direct, 29,354 indirect) bytes in 2 blocks are definitely lost in loss record 99 of 101 | |
| ==17083== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17083== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17083== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17083== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== 524,288 bytes in 2 blocks are definitely lost in loss record 101 of 101 | |
| ==17083== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17083== by 0x40BA0F: Rules (rules.h:63) | |
| ==17083== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17083== by 0x407CCC: main (regression.cc:387) | |
| ==17083== | |
| ==17083== LEAK SUMMARY: | |
| ==17083== definitely lost: 551,604 bytes in 24 blocks | |
| ==17083== indirectly lost: 96,024 bytes in 211 blocks | |
| ==17083== possibly lost: 8,248 bytes in 1 blocks | |
| ==17083== still reachable: 73,352 bytes in 5 blocks | |
| ==17083== suppressed: 0 bytes in 0 blocks | |
| ==17083== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17083== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17083== | |
| ==17083== For counts of detected and suppressed errors, rerun with: -v | |
| ==17083== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/action-msg.json | |
| RUN: test/test-cases/regression/variable-UNIQUE_ID.json | |
| ======================================================= | |
| ==17090== Memcheck, a memory error detector | |
| ==17090== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17090== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17090== Command: ./regression_tests .././test/test-cases/regression/variable-UNIQUE_ID.json | |
| ==17090== | |
| :test-result: PASS variable-UNIQUE_ID.json:Testing Variables :: UNIQUE_ID | |
| ==17090== | |
| ==17090== HEAP SUMMARY: | |
| ==17090== in use at exit: 401,473 bytes in 97 blocks | |
| ==17090== total heap usage: 7,574 allocs, 7,477 frees, 964,495 bytes allocated | |
| ==17090== | |
| ==17090== 189 bytes in 1 blocks are definitely lost in loss record 60 of 82 | |
| ==17090== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17090== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17090== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17090== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17090== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 408 bytes in 1 blocks are definitely lost in loss record 64 of 82 | |
| ==17090== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17090== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 65 of 82 | |
| ==17090== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17090== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17090== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17090== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17090== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 2,049 bytes in 1 blocks are definitely lost in loss record 67 of 82 | |
| ==17090== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17090== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17090== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17090== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17090== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17090== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17090== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17090== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17090== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==17090== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 8,248 bytes in 1 blocks are definitely lost in loss record 74 of 82 | |
| ==17090== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17090== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17090== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17090== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17090== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17090== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17090== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17090== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17090== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17090== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17090== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17090== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17090== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17090== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 82 | |
| ==17090== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17090== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17090== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 82 | |
| ==17090== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17090== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17090== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 82 | |
| ==17090== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17090== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17090== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 82 | |
| ==17090== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17090== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17090== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 82 | |
| ==17090== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17090== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17090== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17090== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17090== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17090== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 12,601 (64 direct, 12,537 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 82 | |
| ==17090== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17090== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17090== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17090== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== 262,144 bytes in 1 blocks are definitely lost in loss record 82 of 82 | |
| ==17090== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17090== by 0x40BA0F: Rules (rules.h:63) | |
| ==17090== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17090== by 0x407CCC: main (regression.cc:387) | |
| ==17090== | |
| ==17090== LEAK SUMMARY: | |
| ==17090== definitely lost: 274,018 bytes in 12 blocks | |
| ==17090== indirectly lost: 54,103 bytes in 80 blocks | |
| ==17090== possibly lost: 0 bytes in 0 blocks | |
| ==17090== still reachable: 73,352 bytes in 5 blocks | |
| ==17090== suppressed: 0 bytes in 0 blocks | |
| ==17090== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17090== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17090== | |
| ==17090== For counts of detected and suppressed errors, rerun with: -v | |
| ==17090== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-UNIQUE_ID.json | |
| RUN: test/test-cases/regression/variable-REQUEST_URI.json | |
| ========================================================= | |
| ==17181== Memcheck, a memory error detector | |
| ==17181== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17181== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17181== Command: ./regression_tests .././test/test-cases/regression/variable-REQUEST_URI.json | |
| ==17181== | |
| :test-result: PASS variable-REQUEST_URI.json:Testing Variables :: REQUEST_URI | |
| ==17181== | |
| ==17181== HEAP SUMMARY: | |
| ==17181== in use at exit: 401,044 bytes in 92 blocks | |
| ==17181== total heap usage: 7,532 allocs, 7,440 frees, 962,229 bytes allocated | |
| ==17181== | |
| ==17181== 205 bytes in 1 blocks are definitely lost in loss record 59 of 81 | |
| ==17181== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17181== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17181== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17181== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17181== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 408 bytes in 1 blocks are definitely lost in loss record 63 of 81 | |
| ==17181== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17181== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 64 of 81 | |
| ==17181== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17181== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17181== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17181== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17181== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 2,049 bytes in 1 blocks are definitely lost in loss record 66 of 81 | |
| ==17181== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17181== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17181== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17181== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17181== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17181== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17181== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17181== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17181== by 0x41F93C: modsecurity::Transaction::processResponseBody() (transaction.cc:949) | |
| ==17181== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 8,248 bytes in 1 blocks are definitely lost in loss record 73 of 81 | |
| ==17181== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17181== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17181== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17181== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17181== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17181== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17181== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17181== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17181== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17181== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17181== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17181== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17181== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17181== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 74 of 81 | |
| ==17181== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17181== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17181== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 81 | |
| ==17181== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17181== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17181== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 81 | |
| ==17181== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17181== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17181== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 81 | |
| ==17181== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17181== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17181== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 81 | |
| ==17181== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17181== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17181== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17181== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17181== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17181== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 12,156 (64 direct, 12,092 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 81 | |
| ==17181== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17181== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17181== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17181== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== 262,144 bytes in 1 blocks are definitely lost in loss record 81 of 81 | |
| ==17181== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17181== by 0x40BA0F: Rules (rules.h:63) | |
| ==17181== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17181== by 0x407CCC: main (regression.cc:387) | |
| ==17181== | |
| ==17181== LEAK SUMMARY: | |
| ==17181== definitely lost: 274,034 bytes in 12 blocks | |
| ==17181== indirectly lost: 53,658 bytes in 75 blocks | |
| ==17181== possibly lost: 0 bytes in 0 blocks | |
| ==17181== still reachable: 73,352 bytes in 5 blocks | |
| ==17181== suppressed: 0 bytes in 0 blocks | |
| ==17181== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17181== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17181== | |
| ==17181== For counts of detected and suppressed errors, rerun with: -v | |
| ==17181== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-REQUEST_URI.json | |
| RUN: test/test-cases/regression/request-body-parser-xml.json | |
| ============================================================ | |
| ==17188== Memcheck, a memory error detector | |
| ==17188== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17188== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17188== Command: ./regression_tests .././test/test-cases/regression/request-body-parser-xml.json | |
| ==17188== | |
| :test-result: PASS request-body-parser-xml.json:Testing XML request body parser (bad XML) | |
| :test-result: PASS request-body-parser-xml.json:Testing XML request body parser (bad schema) | |
| :test-result: PASS request-body-parser-xml.json:Testing XML request body parser (validate attribute value failed) | |
| :test-result: PASS request-body-parser-xml.json:Testing XML request body parser (validate failed) | |
| :test-result: PASS request-body-parser-xml.json:Testing XML request body parser (validate ok) | |
| ==17188== | |
| ==17188== HEAP SUMMARY: | |
| ==17188== in use at exit: 1,749,617 bytes in 1,155 blocks | |
| ==17188== total heap usage: 30,924 allocs, 29,769 frees, 4,013,298 bytes allocated | |
| ==17188== | |
| ==17188== 1,087 bytes in 5 blocks are definitely lost in loss record 397 of 433 | |
| ==17188== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17188== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17188== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17188== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17188== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 2,040 bytes in 5 blocks are definitely lost in loss record 409 of 433 | |
| ==17188== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17188== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 2,340 (540 direct, 1,800 indirect) bytes in 5 blocks are definitely lost in loss record 410 of 433 | |
| ==17188== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17188== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17188== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17188== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17188== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 3,625 (840 direct, 2,785 indirect) bytes in 5 blocks are definitely lost in loss record 415 of 433 | |
| ==17188== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17188== by 0x44CF1D: modsecurity::operators::Rx::Rx(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) (rx.h:40) | |
| ==17188== by 0x449E7A: modsecurity::operators::Operator::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (operator.cc:155) | |
| ==17188== by 0x4710FE: yy::seclang_parser::parse() (seclang-parser.yy:461) | |
| ==17188== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17188== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17188== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 10,245 bytes in 5 blocks are definitely lost in loss record 420 of 433 | |
| ==17188== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17188== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17188== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17188== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17188== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17188== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17188== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17188== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17188== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17188== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 41,240 bytes in 5 blocks are definitely lost in loss record 426 of 433 | |
| ==17188== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17188== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17188== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17188== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17188== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17188== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17188== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17188== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17188== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17188== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17188== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17188== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17188== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17188== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 427 of 433 | |
| ==17188== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17188== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17188== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 428 of 433 | |
| ==17188== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17188== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17188== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 429 of 433 | |
| ==17188== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17188== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17188== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 430 of 433 | |
| ==17188== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17188== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17188== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 71,626 (320 direct, 71,306 indirect) bytes in 5 blocks are definitely lost in loss record 431 of 433 | |
| ==17188== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17188== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17188== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17188== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== 1,310,720 bytes in 5 blocks are definitely lost in loss record 433 of 433 | |
| ==17188== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17188== by 0x40BA0F: Rules (rules.h:63) | |
| ==17188== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17188== by 0x407CCC: main (regression.cc:387) | |
| ==17188== | |
| ==17188== LEAK SUMMARY: | |
| ==17188== definitely lost: 1,368,312 bytes in 60 blocks | |
| ==17188== indirectly lost: 240,851 bytes in 454 blocks | |
| ==17188== possibly lost: 0 bytes in 0 blocks | |
| ==17188== still reachable: 140,454 bytes in 641 blocks | |
| ==17188== suppressed: 0 bytes in 0 blocks | |
| ==17188== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17188== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17188== | |
| ==17188== For counts of detected and suppressed errors, rerun with: -v | |
| ==17188== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/request-body-parser-xml.json | |
| RUN: test/test-cases/regression/secaction.json | |
| ============================================== | |
| ==17226== Memcheck, a memory error detector | |
| ==17226== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17226== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17226== Command: ./regression_tests .././test/test-cases/regression/secaction.json | |
| ==17226== | |
| :test-result: PASS secaction.json:sec action | |
| ==17226== | |
| ==17226== HEAP SUMMARY: | |
| ==17226== in use at exit: 403,756 bytes in 127 blocks | |
| ==17226== total heap usage: 7,811 allocs, 7,684 frees, 991,979 bytes allocated | |
| ==17226== | |
| ==17226== 124 bytes in 1 blocks are definitely lost in loss record 64 of 95 | |
| ==17226== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17226== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17226== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17226== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17226== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== 408 bytes in 1 blocks are definitely lost in loss record 75 of 95 | |
| ==17226== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17226== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 95 | |
| ==17226== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17226== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17226== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17226== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17226== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== 2,049 bytes in 1 blocks are definitely lost in loss record 80 of 95 | |
| ==17226== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17226== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17226== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17226== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17226== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17226== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17226== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17226== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17226== by 0x42DC7A: modsecurity::Rule::evaluateActions(modsecurity::Transaction*) (rule.cc:255) | |
| ==17226== by 0x42EEFA: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:281) | |
| ==17226== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17226== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17226== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17226== | |
| ==17226== 8,248 bytes in 1 blocks are definitely lost in loss record 87 of 95 | |
| ==17226== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17226== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17226== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17226== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17226== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17226== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17226== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17226== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17226== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17226== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17226== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17226== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17226== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17226== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 88 of 95 | |
| ==17226== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17226== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17226== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 89 of 95 | |
| ==17226== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17226== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17226== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 90 of 95 | |
| ==17226== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17226== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17226== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 91 of 95 | |
| ==17226== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17226== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17226== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 92 of 95 | |
| ==17226== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17226== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17226== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17226== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17226== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17226== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== 14,949 (64 direct, 14,885 indirect) bytes in 1 blocks are definitely lost in loss record 93 of 95 | |
| ==17226== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17226== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17226== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17226== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== 262,144 bytes in 1 blocks are definitely lost in loss record 95 of 95 | |
| ==17226== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17226== by 0x40BA0F: Rules (rules.h:63) | |
| ==17226== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17226== by 0x407CCC: main (regression.cc:387) | |
| ==17226== | |
| ==17226== LEAK SUMMARY: | |
| ==17226== definitely lost: 273,953 bytes in 12 blocks | |
| ==17226== indirectly lost: 56,451 bytes in 110 blocks | |
| ==17226== possibly lost: 0 bytes in 0 blocks | |
| ==17226== still reachable: 73,352 bytes in 5 blocks | |
| ==17226== suppressed: 0 bytes in 0 blocks | |
| ==17226== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17226== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17226== | |
| ==17226== For counts of detected and suppressed errors, rerun with: -v | |
| ==17226== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/secaction.json | |
| RUN: test/test-cases/regression/variable-TIME_WDAY.json | |
| ======================================================= | |
| ==17227== Memcheck, a memory error detector | |
| ==17227== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17227== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17227== Command: ./regression_tests .././test/test-cases/regression/variable-TIME_WDAY.json | |
| ==17227== | |
| :test-result: PASS variable-TIME_WDAY.json:Testing Variables :: TIME_WDAY | |
| ==17227== | |
| ==17227== HEAP SUMMARY: | |
| ==17227== in use at exit: 401,473 bytes in 97 blocks | |
| ==17227== total heap usage: 7,574 allocs, 7,477 frees, 969,642 bytes allocated | |
| ==17227== | |
| ==17227== 189 bytes in 1 blocks are definitely lost in loss record 60 of 82 | |
| ==17227== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17227== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17227== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17227== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17227== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 408 bytes in 1 blocks are definitely lost in loss record 64 of 82 | |
| ==17227== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17227== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 65 of 82 | |
| ==17227== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17227== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17227== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17227== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17227== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 2,049 bytes in 1 blocks are definitely lost in loss record 67 of 82 | |
| ==17227== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17227== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17227== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17227== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17227== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17227== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17227== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17227== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17227== by 0x414BF9: modsecurity::Transaction::processLogging(int) (transaction.cc:1123) | |
| ==17227== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 8,248 bytes in 1 blocks are definitely lost in loss record 74 of 82 | |
| ==17227== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17227== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17227== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17227== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17227== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17227== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17227== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17227== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17227== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17227== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17227== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17227== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17227== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17227== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 82 | |
| ==17227== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17227== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17227== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 82 | |
| ==17227== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17227== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17227== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 82 | |
| ==17227== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17227== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17227== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 82 | |
| ==17227== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17227== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17227== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 82 | |
| ==17227== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17227== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17227== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17227== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17227== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17227== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 12,601 (64 direct, 12,537 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 82 | |
| ==17227== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17227== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17227== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17227== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== 262,144 bytes in 1 blocks are definitely lost in loss record 82 of 82 | |
| ==17227== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17227== by 0x40BA0F: Rules (rules.h:63) | |
| ==17227== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17227== by 0x407CCC: main (regression.cc:387) | |
| ==17227== | |
| ==17227== LEAK SUMMARY: | |
| ==17227== definitely lost: 274,018 bytes in 12 blocks | |
| ==17227== indirectly lost: 54,103 bytes in 80 blocks | |
| ==17227== possibly lost: 0 bytes in 0 blocks | |
| ==17227== still reachable: 73,352 bytes in 5 blocks | |
| ==17227== suppressed: 0 bytes in 0 blocks | |
| ==17227== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17227== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17227== | |
| ==17227== For counts of detected and suppressed errors, rerun with: -v | |
| ==17227== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-TIME_WDAY.json | |
| RUN: test/test-cases/regression/issue-960.json | |
| ============================================== | |
| ==17228== Memcheck, a memory error detector | |
| ==17228== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17228== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17228== Command: ./regression_tests .././test/test-cases/regression/issue-960.json | |
| ==17228== | |
| :test-result: PASS issue-960.json:!@within appears to fail (1/3) | |
| :test-result: PASS issue-960.json:!@within appears to fail (2/3) | |
| :test-result: PASS issue-960.json:!@within appears to fail (3/3) | |
| ==17228== | |
| ==17228== HEAP SUMMARY: | |
| ==17228== in use at exit: 1,034,951 bytes in 267 blocks | |
| ==17228== total heap usage: 17,370 allocs, 17,103 frees, 2,061,584 bytes allocated | |
| ==17228== | |
| ==17228== 121 (80 direct, 41 indirect) bytes in 1 blocks are definitely lost in loss record 27 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x447899: allocate (new_allocator.h:104) | |
| ==17228== by 0x447899: allocate (alloc_traits.h:491) | |
| ==17228== by 0x447899: std::__detail::_Hash_node<std::pair<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> > >, true>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<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> > >, true> > >::_M_allocate_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) (hashtable_policy.h:1949) | |
| ==17228== by 0x446F2C: _M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (hashtable.h:1565) | |
| ==17228== by 0x446F2C: _M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (hashtable.h:671) | |
| ==17228== by 0x446F2C: emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (hashtable.h:726) | |
| ==17228== by 0x446F2C: emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (unordered_map.h:1128) | |
| ==17228== by 0x446F2C: modsecurity::collection::backend::InMemoryPerProcess::store(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (in_memory-per_process.cc:43) | |
| ==17228== by 0x445C0A: modsecurity::collection::backend::InMemoryPerProcess::storeOrUpdateFirst(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&) (in_memory-per_process.cc:50) | |
| ==17228== by 0x44412A: modsecurity::collection::Collections::storeOrUpdateFirst(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&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (collections.cc:85) | |
| ==17228== by 0x48B14A: modsecurity::actions::SetVar::evaluate(modsecurity::Rule*, modsecurity::Transaction*) (set_var.cc:141) | |
| ==17228== by 0x42D868: modsecurity::Rule::evaluateActions(modsecurity::Transaction*) (rule.cc:206) | |
| ==17228== by 0x42EEFA: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:281) | |
| ==17228== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17228== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17228== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 408 bytes in 3 blocks are definitely lost in loss record 66 of 91 | |
| ==17228== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17228== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17228== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17228== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17228== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 528 bytes in 6 blocks are definitely lost in loss record 69 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x440604: modsecurity::actions::Action::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (action.cc:92) | |
| ==17228== by 0x46E5EC: yy::seclang_parser::parse() (seclang-parser.yy:900) | |
| ==17228== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17228== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17228== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 528 bytes in 6 blocks are definitely lost in loss record 70 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x440392: modsecurity::actions::Action::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (action.cc:90) | |
| ==17228== by 0x46E5EC: yy::seclang_parser::parse() (seclang-parser.yy:900) | |
| ==17228== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17228== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17228== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 576 bytes in 6 blocks are definitely lost in loss record 71 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x43EDA8: modsecurity::actions::Action::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (action.cc:66) | |
| ==17228== by 0x46E5EC: yy::seclang_parser::parse() (seclang-parser.yy:900) | |
| ==17228== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17228== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17228== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 720 (528 direct, 192 indirect) bytes in 6 blocks are definitely lost in loss record 72 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x470D88: yy::seclang_parser::parse() (seclang-parser.yy:1114) | |
| ==17228== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17228== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17228== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 1,224 bytes in 3 blocks are definitely lost in loss record 74 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 1,404 (324 direct, 1,080 indirect) bytes in 3 blocks are definitely lost in loss record 75 of 91 | |
| ==17228== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17228== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17228== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17228== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17228== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 2,049 bytes in 1 blocks are definitely lost in loss record 76 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17228== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17228== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17228== by 0x42DA7F: modsecurity::Rule::evaluateActions(modsecurity::Transaction*) (rule.cc:261) | |
| ==17228== by 0x42EEFA: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:281) | |
| ==17228== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17228== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17228== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17228== | |
| ==17228== 4,097 bytes in 1 blocks are definitely lost in loss record 77 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x413A0F: operator<< <std::char_traits<char> > (ostream:561) | |
| ==17228== by 0x413A0F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17228== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17228== by 0x48B840: modsecurity::actions::Tag::evaluate(modsecurity::Rule*, modsecurity::Transaction*, modsecurity::RuleMessage*) (tag.cc:57) | |
| ==17228== by 0x4311BF: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:497) | |
| ==17228== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17228== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17228== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17228== | |
| ==17228== 4,097 bytes in 1 blocks are definitely lost in loss record 78 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17228== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17228== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17228== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17228== by 0x48B840: modsecurity::actions::Tag::evaluate(modsecurity::Rule*, modsecurity::Transaction*, modsecurity::RuleMessage*) (tag.cc:57) | |
| ==17228== by 0x4311BF: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:497) | |
| ==17228== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17228== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17228== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17228== | |
| ==17228== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 84 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17228== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 85 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17228== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 86 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17228== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 24,936 (192 direct, 24,744 indirect) bytes in 3 blocks are definitely lost in loss record 87 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17228== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 25,142 (24,744 direct, 398 indirect) bytes in 3 blocks are definitely lost in loss record 88 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17228== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17228== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17228== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17228== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17228== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17228== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17228== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17228== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17228== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17228== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17228== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17228== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 35,081 (192 direct, 34,889 indirect) bytes in 3 blocks are definitely lost in loss record 89 of 91 | |
| ==17228== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17228== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17228== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17228== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== 786,432 bytes in 3 blocks are definitely lost in loss record 91 of 91 | |
| ==17228== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17228== by 0x40BA0F: Rules (rules.h:63) | |
| ==17228== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17228== by 0x407CCC: main (regression.cc:387) | |
| ==17228== | |
| ==17228== LEAK SUMMARY: | |
| ==17228== definitely lost: 826,575 bytes in 58 blocks | |
| ==17228== indirectly lost: 135,576 bytes in 205 blocks | |
| ==17228== possibly lost: 0 bytes in 0 blocks | |
| ==17228== still reachable: 72,800 bytes in 4 blocks | |
| ==17228== suppressed: 0 bytes in 0 blocks | |
| ==17228== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17228== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17228== | |
| ==17228== For counts of detected and suppressed errors, rerun with: -v | |
| ==17228== ERROR SUMMARY: 18 errors from 18 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/issue-960.json | |
| RUN: test/test-cases/regression/request-body-parser-xml-validade-dtd.json | |
| ========================================================================= | |
| ==17274== Memcheck, a memory error detector | |
| ==17274== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17274== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17274== Command: ./regression_tests .././test/test-cases/regression/request-body-parser-xml-validade-dtd.json | |
| ==17274== | |
| :test-result: PASS request-body-parser-xml-validade-dtd.json:Testing XML request body parser - validateDTD (bad DTD) | |
| :test-result: PASS request-body-parser-xml-validade-dtd.json:Testing XML request body parser - validateDTD (bad XML) | |
| :test-result: PASS request-body-parser-xml-validade-dtd.json:Testing XML request body parser - validateDTD (validate ok) | |
| :test-result: PASS request-body-parser-xml-validade-dtd.json:Testing XML request body parser - validateDTD (validation failed) | |
| ==17274== | |
| ==17274== HEAP SUMMARY: | |
| ==17274== in use at exit: 1,357,620 bytes in 438 blocks | |
| ==17274== total heap usage: 22,668 allocs, 22,230 frees, 3,021,407 bytes allocated | |
| ==17274== | |
| ==17274== 764 bytes in 4 blocks are definitely lost in loss record 103 of 127 | |
| ==17274== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17274== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17274== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17274== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17274== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 1,632 bytes in 4 blocks are definitely lost in loss record 109 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 1,872 (432 direct, 1,440 indirect) bytes in 4 blocks are definitely lost in loss record 110 of 127 | |
| ==17274== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17274== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17274== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17274== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17274== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 2,049 bytes in 1 blocks are definitely lost in loss record 111 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17274== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17274== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17274== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17274== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17274== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17274== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17274== by 0x43E9C3: debug (xml.h:56) | |
| ==17274== by 0x43E9C3: modsecurity::RequestBodyProcessor::XML::complete() (xml.cc:124) | |
| ==17274== by 0x41CBBB: modsecurity::Transaction::processRequestBody() (transaction.cc:597) | |
| ==17274== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 2,900 (672 direct, 2,228 indirect) bytes in 4 blocks are definitely lost in loss record 112 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x44CF1D: modsecurity::operators::Rx::Rx(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) (rx.h:40) | |
| ==17274== by 0x449E7A: modsecurity::operators::Operator::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (operator.cc:155) | |
| ==17274== by 0x4710FE: yy::seclang_parser::parse() (seclang-parser.yy:461) | |
| ==17274== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17274== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17274== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 6,147 bytes in 3 blocks are definitely lost in loss record 113 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17274== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17274== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17274== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17274== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17274== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17274== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17274== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17274== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 8,248 bytes in 1 blocks are possibly lost in loss record 114 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17274== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17274== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17274== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17274== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17274== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17274== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17274== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17274== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17274== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17274== by 0x425161: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17274== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 25,000 (256 direct, 24,744 indirect) bytes in 4 blocks are definitely lost in loss record 116 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17274== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 32,992 bytes in 4 blocks are definitely lost in loss record 121 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17274== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17274== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17274== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17274== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17274== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17274== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17274== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17274== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17274== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17274== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17274== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17274== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 122 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17274== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 123 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17274== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 33,248 (256 direct, 32,992 indirect) bytes in 4 blocks are definitely lost in loss record 124 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17274== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 53,633 (256 direct, 53,377 indirect) bytes in 4 blocks are definitely lost in loss record 125 of 127 | |
| ==17274== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17274== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17274== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17274== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== 1,048,576 bytes in 4 blocks are definitely lost in loss record 127 of 127 | |
| ==17274== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17274== by 0x40BA0F: Rules (rules.h:63) | |
| ==17274== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17274== by 0x407CCC: main (regression.cc:387) | |
| ==17274== | |
| ==17274== LEAK SUMMARY: | |
| ==17274== definitely lost: 1,094,544 bytes in 48 blocks | |
| ==17274== indirectly lost: 180,765 bytes in 362 blocks | |
| ==17274== possibly lost: 8,248 bytes in 1 blocks | |
| ==17274== still reachable: 74,063 bytes in 27 blocks | |
| ==17274== suppressed: 0 bytes in 0 blocks | |
| ==17274== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17274== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17274== | |
| ==17274== For counts of detected and suppressed errors, rerun with: -v | |
| ==17274== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/request-body-parser-xml-validade-dtd.json | |
| RUN: test/test-cases/regression/variable-TIME_MIN.json | |
| ====================================================== | |
| ==17283== Memcheck, a memory error detector | |
| ==17283== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17283== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17283== Command: ./regression_tests .././test/test-cases/regression/variable-TIME_MIN.json | |
| ==17283== | |
| :test-result: PASS variable-TIME_MIN.json:Testing Variables :: TIME_MIN | |
| ==17283== | |
| ==17283== HEAP SUMMARY: | |
| ==17283== in use at exit: 401,471 bytes in 97 blocks | |
| ==17283== total heap usage: 7,575 allocs, 7,478 frees, 969,296 bytes allocated | |
| ==17283== | |
| ==17283== 187 bytes in 1 blocks are definitely lost in loss record 60 of 82 | |
| ==17283== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17283== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17283== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17283== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17283== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 408 bytes in 1 blocks are definitely lost in loss record 64 of 82 | |
| ==17283== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17283== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 65 of 82 | |
| ==17283== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17283== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17283== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17283== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17283== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 2,049 bytes in 1 blocks are definitely lost in loss record 67 of 82 | |
| ==17283== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17283== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17283== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17283== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17283== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17283== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17283== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17283== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17283== by 0x414BF9: modsecurity::Transaction::processLogging(int) (transaction.cc:1123) | |
| ==17283== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 8,248 bytes in 1 blocks are definitely lost in loss record 74 of 82 | |
| ==17283== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17283== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17283== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17283== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17283== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17283== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17283== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17283== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17283== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17283== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17283== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17283== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17283== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17283== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 82 | |
| ==17283== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17283== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17283== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 82 | |
| ==17283== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17283== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17283== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 82 | |
| ==17283== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17283== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17283== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 82 | |
| ==17283== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17283== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17283== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 82 | |
| ==17283== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17283== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17283== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17283== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17283== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17283== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 12,601 (64 direct, 12,537 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 82 | |
| ==17283== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17283== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17283== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17283== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== 262,144 bytes in 1 blocks are definitely lost in loss record 82 of 82 | |
| ==17283== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17283== by 0x40BA0F: Rules (rules.h:63) | |
| ==17283== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17283== by 0x407CCC: main (regression.cc:387) | |
| ==17283== | |
| ==17283== LEAK SUMMARY: | |
| ==17283== definitely lost: 274,016 bytes in 12 blocks | |
| ==17283== indirectly lost: 54,103 bytes in 80 blocks | |
| ==17283== possibly lost: 0 bytes in 0 blocks | |
| ==17283== still reachable: 73,352 bytes in 5 blocks | |
| ==17283== suppressed: 0 bytes in 0 blocks | |
| ==17283== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17283== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17283== | |
| ==17283== For counts of detected and suppressed errors, rerun with: -v | |
| ==17283== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-TIME_MIN.json | |
| RUN: test/test-cases/regression/action-setuid.json | |
| ================================================== | |
| ==17286== Memcheck, a memory error detector | |
| ==17286== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17286== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17286== Command: ./regression_tests .././test/test-cases/regression/action-setuid.json | |
| ==17286== | |
| :test-result: PASS action-setuid.json:Testing setuid action | |
| ==17286== | |
| ==17286== HEAP SUMMARY: | |
| ==17286== in use at exit: 412,352 bytes in 168 blocks | |
| ==17286== total heap usage: 8,084 allocs, 7,916 frees, 1,053,702 bytes allocated | |
| ==17286== | |
| ==17286== 153 bytes in 1 blocks are definitely lost in loss record 67 of 100 | |
| ==17286== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17286== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17286== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17286== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17286== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 408 bytes in 1 blocks are definitely lost in loss record 77 of 100 | |
| ==17286== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17286== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 100 | |
| ==17286== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17286== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17286== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17286== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17286== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 1,800 (672 direct, 1,128 indirect) bytes in 4 blocks are definitely lost in loss record 84 of 100 | |
| ==17286== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17286== by 0x44CF1D: modsecurity::operators::Rx::Rx(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) (rx.h:40) | |
| ==17286== by 0x449E7A: modsecurity::operators::Operator::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (operator.cc:155) | |
| ==17286== by 0x4710FE: yy::seclang_parser::parse() (seclang-parser.yy:461) | |
| ==17286== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17286== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17286== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 8,193 bytes in 1 blocks are definitely lost in loss record 86 of 100 | |
| ==17286== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17286== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17286== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17286== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17286== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17286== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17286== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17286== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17286== by 0x42014F: modsecurity::Transaction::appendResponseBody(unsigned char const*, unsigned long) (transaction.cc:1022) | |
| ==17286== by 0x40D5B7: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:271) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 8,248 bytes in 1 blocks are definitely lost in loss record 92 of 100 | |
| ==17286== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17286== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17286== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17286== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17286== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17286== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17286== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17286== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17286== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17286== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17286== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17286== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17286== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17286== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 93 of 100 | |
| ==17286== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17286== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17286== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 94 of 100 | |
| ==17286== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17286== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17286== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 95 of 100 | |
| ==17286== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17286== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17286== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 96 of 100 | |
| ==17286== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17286== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17286== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 97 of 100 | |
| ==17286== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17286== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17286== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17286== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17286== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17286== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 15,572 (64 direct, 15,508 indirect) bytes in 1 blocks are definitely lost in loss record 98 of 100 | |
| ==17286== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17286== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17286== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17286== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== 262,144 bytes in 1 blocks are definitely lost in loss record 100 of 100 | |
| ==17286== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17286== by 0x40BA0F: Rules (rules.h:63) | |
| ==17286== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17286== by 0x407CCC: main (regression.cc:387) | |
| ==17286== | |
| ==17286== LEAK SUMMARY: | |
| ==17286== definitely lost: 280,798 bytes in 16 blocks | |
| ==17286== indirectly lost: 58,202 bytes in 147 blocks | |
| ==17286== possibly lost: 0 bytes in 0 blocks | |
| ==17286== still reachable: 73,352 bytes in 5 blocks | |
| ==17286== suppressed: 0 bytes in 0 blocks | |
| ==17286== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17286== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17286== | |
| ==17286== For counts of detected and suppressed errors, rerun with: -v | |
| ==17286== ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/action-setuid.json | |
| RUN: test/test-cases/regression/config-calling_phases_by_name.json | |
| ================================================================== | |
| ==17348== Memcheck, a memory error detector | |
| ==17348== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17348== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17348== Command: ./regression_tests .././test/test-cases/regression/config-calling_phases_by_name.json | |
| ==17348== | |
| :test-result: PASS config-calling_phases_by_name.json:Testing Variables :: MATCHED_VAR (1/2) | |
| :test-result: PASS config-calling_phases_by_name.json:Testing Variables :: MATCHED_VAR (2/2) | |
| ==17348== | |
| ==17348== HEAP SUMMARY: | |
| ==17348== in use at exit: 723,789 bytes in 202 blocks | |
| ==17348== total heap usage: 12,353 allocs, 12,151 frees, 1,506,081 bytes allocated | |
| ==17348== | |
| ==17348== 324 bytes in 2 blocks are definitely lost in loss record 77 of 101 | |
| ==17348== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17348== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17348== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17348== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17348== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 816 bytes in 2 blocks are definitely lost in loss record 82 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 936 (216 direct, 720 indirect) bytes in 2 blocks are definitely lost in loss record 83 of 101 | |
| ==17348== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17348== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17348== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17348== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17348== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 1,454 (688 direct, 766 indirect) bytes in 2 blocks are definitely lost in loss record 84 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x471699: yy::seclang_parser::parse() (seclang-parser.yy:480) | |
| ==17348== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17348== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17348== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 2,049 bytes in 1 blocks are definitely lost in loss record 85 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17348== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17348== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17348== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17348== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17348== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17348== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17348== by 0x431053: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:482) | |
| ==17348== by 0x430091: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:430) | |
| ==17348== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17348== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17348== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17348== | |
| ==17348== 4,097 bytes in 1 blocks are definitely lost in loss record 86 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17348== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17348== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17348== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17348== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17348== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17348== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17348== by 0x422F90: modsecurity::audit_log::AuditLog::saveIfRelevant(modsecurity::Transaction*, int) (audit_log.cc:238) | |
| ==17348== by 0x414D6D: modsecurity::Transaction::processLogging(int) (transaction.cc:1172) | |
| ==17348== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 88 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17348== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17348== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17348== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17348== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 16,496 bytes in 2 blocks are definitely lost in loss record 94 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17348== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17348== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17348== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17348== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17348== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17348== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17348== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17348== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17348== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17348== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17348== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17348== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 95 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17348== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 96 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17348== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 97 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17348== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 98 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17348== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 24,715 (128 direct, 24,587 indirect) bytes in 2 blocks are definitely lost in loss record 99 of 101 | |
| ==17348== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17348== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17348== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17348== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== 524,288 bytes in 2 blocks are definitely lost in loss record 101 of 101 | |
| ==17348== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17348== by 0x40BA0F: Rules (rules.h:63) | |
| ==17348== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17348== by 0x407CCC: main (regression.cc:387) | |
| ==17348== | |
| ==17348== LEAK SUMMARY: | |
| ==17348== definitely lost: 550,166 bytes in 25 blocks | |
| ==17348== indirectly lost: 100,271 bytes in 172 blocks | |
| ==17348== possibly lost: 0 bytes in 0 blocks | |
| ==17348== still reachable: 73,352 bytes in 5 blocks | |
| ==17348== suppressed: 0 bytes in 0 blocks | |
| ==17348== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17348== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17348== | |
| ==17348== For counts of detected and suppressed errors, rerun with: -v | |
| ==17348== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/config-calling_phases_by_name.json | |
| RUN: test/test-cases/regression/variable-USERID.json | |
| ==================================================== | |
| ==17375== Memcheck, a memory error detector | |
| ==17375== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17375== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17375== Command: ./regression_tests .././test/test-cases/regression/variable-USERID.json | |
| ==17375== | |
| :test-result: PASS variable-USERID.json:Testing USERID variable (1/2) | |
| :test-result: PASS variable-USERID.json:Testing USERID variable (2/2) | |
| ==17375== | |
| ==17375== HEAP SUMMARY: | |
| ==17375== in use at exit: 726,107 bytes in 226 blocks | |
| ==17375== total heap usage: 12,424 allocs, 12,198 frees, 1,554,368 bytes allocated | |
| ==17375== | |
| ==17375== 232 bytes in 2 blocks are definitely lost in loss record 66 of 97 | |
| ==17375== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17375== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17375== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17375== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17375== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 816 bytes in 2 blocks are definitely lost in loss record 78 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 936 (216 direct, 720 indirect) bytes in 2 blocks are definitely lost in loss record 79 of 97 | |
| ==17375== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17375== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17375== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17375== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17375== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 2,049 bytes in 1 blocks are definitely lost in loss record 80 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17375== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17375== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17375== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17375== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17375== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17375== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17375== by 0x48A687: modsecurity::actions::SetUID::evaluate(modsecurity::Rule*, modsecurity::Transaction*) (set_uid.cc:48) | |
| ==17375== by 0x43040E: evaluate (action.h:114) | |
| ==17375== by 0x43040E: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:497) | |
| ==17375== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17375== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17375== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17375== | |
| ==17375== 2,255 (840 direct, 1,415 indirect) bytes in 5 blocks are definitely lost in loss record 81 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x44CF1D: modsecurity::operators::Rx::Rx(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) (rx.h:40) | |
| ==17375== by 0x449E7A: modsecurity::operators::Operator::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (operator.cc:155) | |
| ==17375== by 0x4710FE: yy::seclang_parser::parse() (seclang-parser.yy:461) | |
| ==17375== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17375== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17375== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 4,097 bytes in 1 blocks are definitely lost in loss record 82 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17375== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17375== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17375== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17375== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17375== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17375== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17375== by 0x431053: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:482) | |
| ==17375== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17375== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17375== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 84 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17375== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17375== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17375== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17375== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 16,496 bytes in 2 blocks are definitely lost in loss record 90 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17375== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17375== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17375== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17375== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17375== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17375== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17375== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17375== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17375== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17375== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17375== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17375== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 91 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17375== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 92 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17375== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 93 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17375== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 94 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17375== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 26,324 (128 direct, 26,196 indirect) bytes in 2 blocks are definitely lost in loss record 95 of 97 | |
| ==17375== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17375== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17375== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17375== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== 524,288 bytes in 2 blocks are definitely lost in loss record 97 of 97 | |
| ==17375== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17375== by 0x40BA0F: Rules (rules.h:63) | |
| ==17375== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17375== by 0x407CCC: main (regression.cc:387) | |
| ==17375== | |
| ==17375== LEAK SUMMARY: | |
| ==17375== definitely lost: 550,226 bytes in 28 blocks | |
| ==17375== indirectly lost: 102,529 bytes in 193 blocks | |
| ==17375== possibly lost: 0 bytes in 0 blocks | |
| ==17375== still reachable: 73,352 bytes in 5 blocks | |
| ==17375== suppressed: 0 bytes in 0 blocks | |
| ==17375== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17375== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17375== | |
| ==17375== For counts of detected and suppressed errors, rerun with: -v | |
| ==17375== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-USERID.json | |
| RUN: test/test-cases/regression/request-body-parser-multipart.json | |
| ================================================================== | |
| ==17412== Memcheck, a memory error detector | |
| ==17412== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17412== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17412== Command: ./regression_tests .././test/test-cases/regression/request-body-parser-multipart.json | |
| ==17412== | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (C-D uses single quotes) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (boundary contains "bOuNdArY") | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (boundary contains "boundary") | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (boundary special char - trailing comma+token) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (boundary special char - trailing whitespace+token) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (boundary whitespace in C-T - after name) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (boundary whitespace in C-T - after value) - apache removes the whitespace, not the case for us... TODO | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (boundary whitespace in C-T - before value) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (data after final boundary) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (data contains "--") | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (final CRLF) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (invalid C-T boundary parameter name - case) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (invalid C-T boundary parameter name - trailing chars) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (invalid C-T boundary separator - comma) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (invalid C-T boundary separator - space) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (multipart mixed - missing disposition) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (multipart mixed - normal) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (multiple C-T boundaries - comma separated) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (multiple C-T boundaries - first quoted) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (no final CRLF) - FIXME: test suit cannot work without the ending \n | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (normal) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (normal) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (part header folding - invalid) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (part header folding - mixed invalid) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (part header folding - mixed) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (part header folding - space) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (part header folding - tab) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (partial quoted boundary value - only end quote) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (partial quoted boundary value - only start quote) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (quoted boundary - normal) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (quoted boundary value - contained quote) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (quoted boundary value - two quoted values) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (quoted boundary value - whitespace after) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (quoted boundary value - whitespace after) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (quoted boundary value - whitespace before) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser (quoted boundary value - whitespace between) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser error (bad disposition) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser error (no disposition name) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser error (no disposition name) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser error (no disposition) | |
| :test-result: PASS request-body-parser-multipart.json:multipart parser error (no final boundary) | |
| ==17412== | |
| ==17412== HEAP SUMMARY: | |
| ==17412== in use at exit: 13,330,390 bytes in 5,244 blocks | |
| ==17412== total heap usage: 202,617 allocs, 197,373 frees, 22,973,075 bytes allocated | |
| ==17412== | |
| ==17412== 88 bytes in 1 blocks are definitely lost in loss record 9 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x4739E9: yy::seclang_parser::parse() (seclang-parser.yy:736) | |
| ==17412== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17412== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17412== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 264 bytes in 3 blocks are definitely lost in loss record 22 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x472BA9: yy::seclang_parser::parse() (seclang-parser.yy:745) | |
| ==17412== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17412== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17412== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 2,049 bytes in 1 blocks are definitely lost in loss record 78 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x4415D2: modsecurity::actions::Deny::evaluate(modsecurity::Rule*, modsecurity::Transaction*) (deny.cc:29) | |
| ==17412== by 0x431079: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:484) | |
| ==17412== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17412== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== | |
| ==17412== 2,049 bytes in 1 blocks are definitely lost in loss record 79 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x4139EF: operator<< <std::char_traits<char> > (ostream:561) | |
| ==17412== by 0x4139EF: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x42E81B: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:299) | |
| ==17412== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17412== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 2,049 bytes in 1 blocks are definitely lost in loss record 80 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x438461: debug (multipart.h:177) | |
| ==17412== by 0x438461: modsecurity::RequestBodyProcessor::Multipart::process_boundary(int) (multipart.cc:780) | |
| ==17412== by 0x43D367: modsecurity::RequestBodyProcessor::Multipart::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (multipart.cc:1271) | |
| ==17412== by 0x41CAEE: modsecurity::Transaction::processRequestBody() (transaction.cc:608) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 2,049 bytes in 1 blocks are definitely lost in loss record 81 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x4387E4: debug (multipart.h:177) | |
| ==17412== by 0x4387E4: modsecurity::RequestBodyProcessor::Multipart::process_boundary(int) (multipart.cc:786) | |
| ==17412== by 0x43D367: modsecurity::RequestBodyProcessor::Multipart::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (multipart.cc:1271) | |
| ==17412== by 0x41CAEE: modsecurity::Transaction::processRequestBody() (transaction.cc:608) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 2,049 bytes in 1 blocks are definitely lost in loss record 82 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x43A0C9: debug (multipart.h:177) | |
| ==17412== by 0x43A0C9: modsecurity::RequestBodyProcessor::Multipart::multipart_complete() (multipart.cc:873) | |
| ==17412== by 0x41CB0C: modsecurity::Transaction::processRequestBody() (transaction.cc:610) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 4,097 bytes in 1 blocks are definitely lost in loss record 132 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17412== by 0x4143CC: modsecurity::Transaction::processResponseHeaders() (transaction.cc:838) | |
| ==17412== by 0x40D577: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:263) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 4,097 bytes in 1 blocks are definitely lost in loss record 133 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x42FDF5: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:402) | |
| ==17412== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17412== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 4,097 bytes in 1 blocks are definitely lost in loss record 134 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x4139EF: operator<< <std::char_traits<char> > (ostream:561) | |
| ==17412== by 0x4139EF: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x431053: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:482) | |
| ==17412== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17412== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 4,097 bytes in 1 blocks are definitely lost in loss record 135 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x4139EF: operator<< <std::char_traits<char> > (ostream:561) | |
| ==17412== by 0x4139EF: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17412== by 0x4143CC: modsecurity::Transaction::processResponseHeaders() (transaction.cc:838) | |
| ==17412== by 0x40D577: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:263) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 5,692 bytes in 41 blocks are definitely lost in loss record 137 of 166 | |
| ==17412== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17412== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17412== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17412== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17412== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 8,194 bytes in 2 blocks are definitely lost in loss record 139 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17412== by 0x414CA1: modsecurity::Transaction::processLogging(int) (transaction.cc:1134) | |
| ==17412== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 8,195 bytes in 3 blocks are definitely lost in loss record 140 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x42F927: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:391) | |
| ==17412== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17412== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 8,248 bytes in 1 blocks are possibly lost in loss record 141 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17412== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17412== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17412== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17412== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17412== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17412== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17412== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17412== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17412== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17412== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17412== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17412== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 10,243 bytes in 3 blocks are definitely lost in loss record 143 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x43A801: debug (multipart.h:177) | |
| ==17412== by 0x43A801: modsecurity::RequestBodyProcessor::Multipart::multipart_complete() (multipart.cc:957) | |
| ==17412== by 0x41CB0C: modsecurity::Transaction::processRequestBody() (transaction.cc:610) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 16,388 bytes in 4 blocks are definitely lost in loss record 145 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x414D43: modsecurity::Transaction::processLogging(int) (transaction.cc:1171) | |
| ==17412== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 16,728 bytes in 41 blocks are definitely lost in loss record 146 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 18,396 (4,428 direct, 13,968 indirect) bytes in 41 blocks are definitely lost in loss record 147 of 166 | |
| ==17412== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17412== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17412== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17412== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17412== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 20,485 bytes in 5 blocks are definitely lost in loss record 150 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x414BF9: modsecurity::Transaction::processLogging(int) (transaction.cc:1123) | |
| ==17412== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 28,551 (15,312 direct, 13,239 indirect) bytes in 58 blocks are definitely lost in loss record 151 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x43855C: modsecurity::RequestBodyProcessor::Multipart::process_boundary(int) (multipart.cc:794) | |
| ==17412== by 0x43D367: modsecurity::RequestBodyProcessor::Multipart::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (multipart.cc:1271) | |
| ==17412== by 0x41CAEE: modsecurity::Transaction::processRequestBody() (transaction.cc:608) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 47,119 bytes in 15 blocks are definitely lost in loss record 152 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17412== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17412== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17412== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17412== by 0x42E81B: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:299) | |
| ==17412== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17412== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17412== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 329,920 bytes in 40 blocks are definitely lost in loss record 154 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17412== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17412== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17412== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17412== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17412== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17412== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17412== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17412== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17412== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17412== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17412== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17412== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 340,792 (2,624 direct, 338,168 indirect) bytes in 41 blocks are definitely lost in loss record 160 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17412== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 340,792 (2,624 direct, 338,168 indirect) bytes in 41 blocks are definitely lost in loss record 161 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17412== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 340,792 (2,624 direct, 338,168 indirect) bytes in 41 blocks are definitely lost in loss record 162 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17412== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 340,792 (2,624 direct, 338,168 indirect) bytes in 41 blocks are definitely lost in loss record 163 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17412== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 601,374 (2,624 direct, 598,750 indirect) bytes in 41 blocks are definitely lost in loss record 164 of 166 | |
| ==17412== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17412== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17412== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17412== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 1,310,720 bytes in 5 blocks are possibly lost in loss record 165 of 166 | |
| ==17412== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17412== by 0x40BA0F: Rules (rules.h:63) | |
| ==17412== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== 9,437,184 bytes in 36 blocks are definitely lost in loss record 166 of 166 | |
| ==17412== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17412== by 0x40BA0F: Rules (rules.h:63) | |
| ==17412== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17412== by 0x407CCC: main (regression.cc:387) | |
| ==17412== | |
| ==17412== LEAK SUMMARY: | |
| ==17412== definitely lost: 9,959,993 bytes in 507 blocks | |
| ==17412== indirectly lost: 1,978,629 bytes in 4,727 blocks | |
| ==17412== possibly lost: 1,318,968 bytes in 6 blocks | |
| ==17412== still reachable: 72,800 bytes in 4 blocks | |
| ==17412== suppressed: 0 bytes in 0 blocks | |
| ==17412== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17412== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17412== | |
| ==17412== For counts of detected and suppressed errors, rerun with: -v | |
| ==17412== ERROR SUMMARY: 30 errors from 30 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/request-body-parser-multipart.json | |
| RUN: test/test-cases/regression/variable-RESPONSE_CONTENT_TYPE.json | |
| =================================================================== | |
| ==17414== Memcheck, a memory error detector | |
| ==17414== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17414== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17414== Command: ./regression_tests .././test/test-cases/regression/variable-RESPONSE_CONTENT_TYPE.json | |
| ==17414== | |
| :test-result: PASS variable-RESPONSE_CONTENT_TYPE.json:Testing Variables :: RESPONSE_CONTENT_TYPE | |
| ==17414== | |
| ==17414== HEAP SUMMARY: | |
| ==17414== in use at exit: 401,028 bytes in 92 blocks | |
| ==17414== total heap usage: 7,528 allocs, 7,436 frees, 961,527 bytes allocated | |
| ==17414== | |
| ==17414== 189 bytes in 1 blocks are definitely lost in loss record 59 of 81 | |
| ==17414== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17414== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17414== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17414== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17414== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 408 bytes in 1 blocks are definitely lost in loss record 63 of 81 | |
| ==17414== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17414== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 64 of 81 | |
| ==17414== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17414== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17414== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17414== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17414== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 2,049 bytes in 1 blocks are definitely lost in loss record 66 of 81 | |
| ==17414== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17414== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17414== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17414== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17414== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17414== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17414== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17414== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17414== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==17414== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 8,248 bytes in 1 blocks are definitely lost in loss record 73 of 81 | |
| ==17414== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17414== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17414== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17414== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17414== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17414== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17414== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17414== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17414== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17414== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17414== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17414== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17414== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17414== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 74 of 81 | |
| ==17414== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17414== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17414== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 81 | |
| ==17414== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17414== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17414== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 81 | |
| ==17414== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17414== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17414== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 81 | |
| ==17414== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17414== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17414== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 81 | |
| ==17414== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17414== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17414== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17414== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17414== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17414== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 12,156 (64 direct, 12,092 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 81 | |
| ==17414== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17414== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17414== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17414== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== 262,144 bytes in 1 blocks are definitely lost in loss record 81 of 81 | |
| ==17414== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17414== by 0x40BA0F: Rules (rules.h:63) | |
| ==17414== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17414== by 0x407CCC: main (regression.cc:387) | |
| ==17414== | |
| ==17414== LEAK SUMMARY: | |
| ==17414== definitely lost: 274,018 bytes in 12 blocks | |
| ==17414== indirectly lost: 53,658 bytes in 75 blocks | |
| ==17414== possibly lost: 0 bytes in 0 blocks | |
| ==17414== still reachable: 73,352 bytes in 5 blocks | |
| ==17414== suppressed: 0 bytes in 0 blocks | |
| ==17414== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17414== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17414== | |
| ==17414== For counts of detected and suppressed errors, rerun with: -v | |
| ==17414== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-RESPONSE_CONTENT_TYPE.json | |
| RUN: test/test-cases/regression/action-disruptive.json | |
| ====================================================== | |
| ==17418== Memcheck, a memory error detector | |
| ==17418== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17418== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17418== Command: ./regression_tests .././test/test-cases/regression/action-disruptive.json | |
| ==17418== | |
| :test-result: PASS action-disruptive.json:Testing Disruptive actions (1/n) | |
| :test-result: PASS action-disruptive.json:Testing Disruptive actions (2/n) | |
| :test-result: PASS action-disruptive.json:Testing Disruptive actions (3/n) | |
| :test-result: PASS action-disruptive.json:Testing Disruptive actions (4/n) | |
| :test-result: PASS action-disruptive.json:Testing Disruptive actions (5/n) | |
| ==17418== | |
| ==17418== HEAP SUMMARY: | |
| ==17418== in use at exit: 1,664,784 bytes in 274 blocks | |
| ==17418== total heap usage: 24,567 allocs, 24,293 frees, 2,965,642 bytes allocated | |
| ==17418== | |
| ==17418== 352 bytes in 4 blocks are definitely lost in loss record 19 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x440392: modsecurity::actions::Action::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (action.cc:90) | |
| ==17418== by 0x46E5EC: yy::seclang_parser::parse() (seclang-parser.yy:900) | |
| ==17418== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17418== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17418== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 384 bytes in 4 blocks are definitely lost in loss record 20 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x43EDA8: modsecurity::actions::Action::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (action.cc:66) | |
| ==17418== by 0x46E5EC: yy::seclang_parser::parse() (seclang-parser.yy:900) | |
| ==17418== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17418== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17418== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 483 bytes in 5 blocks are definitely lost in loss record 45 of 69 | |
| ==17418== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17418== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17418== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17418== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17418== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 1,025 bytes in 1 blocks are definitely lost in loss record 48 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17418== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17418== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17418== by 0x42D842: modsecurity::Rule::evaluateActions(modsecurity::Transaction*) (rule.cc:204) | |
| ==17418== by 0x42EEFA: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:281) | |
| ==17418== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17418== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17418== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17418== | |
| ==17418== 1,025 bytes in 1 blocks are definitely lost in loss record 49 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17418== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17418== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17418== by 0x42DD30: modsecurity::Rule::evaluateActions(modsecurity::Transaction*) (rule.cc:228) | |
| ==17418== by 0x42EEFA: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:281) | |
| ==17418== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17418== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17418== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17418== | |
| ==17418== 1,025 bytes in 1 blocks are definitely lost in loss record 50 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17418== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17418== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17418== by 0x42DC4C: modsecurity::Rule::evaluateActions(modsecurity::Transaction*) (rule.cc:219) | |
| ==17418== by 0x42EEFA: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:281) | |
| ==17418== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17418== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17418== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17418== | |
| ==17418== 1,812 (540 direct, 1,272 indirect) bytes in 5 blocks are definitely lost in loss record 51 of 69 | |
| ==17418== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17418== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17418== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17418== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17418== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 2,040 bytes in 5 blocks are definitely lost in loss record 52 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 2,049 bytes in 1 blocks are definitely lost in loss record 53 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17418== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17418== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17418== by 0x422F90: modsecurity::audit_log::AuditLog::saveIfRelevant(modsecurity::Transaction*, int) (audit_log.cc:238) | |
| ==17418== by 0x414D6D: modsecurity::Transaction::processLogging(int) (transaction.cc:1172) | |
| ==17418== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 2,049 bytes in 1 blocks are definitely lost in loss record 54 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17418== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17418== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17418== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17418== by 0x414CE4: modsecurity::Transaction::processLogging(int) (transaction.cc:1141) | |
| ==17418== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 56 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17418== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17418== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17418== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17418== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 41,240 bytes in 5 blocks are definitely lost in loss record 62 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17418== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17418== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17418== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17418== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17418== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17418== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17418== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17418== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17418== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17418== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17418== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17418== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 63 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17418== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 64 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17418== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 65 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17418== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 66 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17418== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 52,222 (320 direct, 51,902 indirect) bytes in 5 blocks are definitely lost in loss record 67 of 69 | |
| ==17418== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17418== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17418== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17418== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== 1,310,720 bytes in 5 blocks are definitely lost in loss record 69 of 69 | |
| ==17418== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17418== by 0x40BA0F: Rules (rules.h:63) | |
| ==17418== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17418== by 0x407CCC: main (regression.cc:387) | |
| ==17418== | |
| ==17418== LEAK SUMMARY: | |
| ==17418== definitely lost: 1,365,084 bytes in 64 blocks | |
| ==17418== indirectly lost: 226,348 bytes in 205 blocks | |
| ==17418== possibly lost: 0 bytes in 0 blocks | |
| ==17418== still reachable: 73,352 bytes in 5 blocks | |
| ==17418== suppressed: 0 bytes in 0 blocks | |
| ==17418== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17418== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17418== | |
| ==17418== For counts of detected and suppressed errors, rerun with: -v | |
| ==17418== ERROR SUMMARY: 18 errors from 18 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/action-disruptive.json | |
| RUN: test/test-cases/regression/variable-REQUEST_BASENAME.json | |
| ============================================================== | |
| ==17442== Memcheck, a memory error detector | |
| ==17442== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17442== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17442== Command: ./regression_tests .././test/test-cases/regression/variable-REQUEST_BASENAME.json | |
| ==17442== | |
| :test-result: PASS variable-REQUEST_BASENAME.json:Testing Variables :: REQUEST_BASENAME | |
| ==17442== | |
| ==17442== HEAP SUMMARY: | |
| ==17442== in use at exit: 401,514 bytes in 99 blocks | |
| ==17442== total heap usage: 7,584 allocs, 7,485 frees, 965,189 bytes allocated | |
| ==17442== | |
| ==17442== 180 bytes in 1 blocks are definitely lost in loss record 62 of 84 | |
| ==17442== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17442== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17442== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17442== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17442== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 408 bytes in 1 blocks are definitely lost in loss record 66 of 84 | |
| ==17442== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17442== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 67 of 84 | |
| ==17442== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17442== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17442== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17442== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17442== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 2,049 bytes in 1 blocks are definitely lost in loss record 69 of 84 | |
| ==17442== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17442== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17442== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17442== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17442== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17442== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17442== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17442== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17442== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==17442== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 8,248 bytes in 1 blocks are definitely lost in loss record 76 of 84 | |
| ==17442== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17442== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17442== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17442== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17442== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17442== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17442== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17442== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17442== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17442== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17442== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17442== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17442== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17442== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 84 | |
| ==17442== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17442== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17442== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 84 | |
| ==17442== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17442== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17442== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 84 | |
| ==17442== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17442== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17442== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 84 | |
| ==17442== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17442== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17442== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 81 of 84 | |
| ==17442== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17442== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17442== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17442== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17442== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17442== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 12,651 (64 direct, 12,587 indirect) bytes in 1 blocks are definitely lost in loss record 82 of 84 | |
| ==17442== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17442== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17442== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17442== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== 262,144 bytes in 1 blocks are definitely lost in loss record 84 of 84 | |
| ==17442== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17442== by 0x40BA0F: Rules (rules.h:63) | |
| ==17442== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17442== by 0x407CCC: main (regression.cc:387) | |
| ==17442== | |
| ==17442== LEAK SUMMARY: | |
| ==17442== definitely lost: 274,009 bytes in 12 blocks | |
| ==17442== indirectly lost: 54,153 bytes in 82 blocks | |
| ==17442== possibly lost: 0 bytes in 0 blocks | |
| ==17442== still reachable: 73,352 bytes in 5 blocks | |
| ==17442== suppressed: 0 bytes in 0 blocks | |
| ==17442== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17442== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17442== | |
| ==17442== For counts of detected and suppressed errors, rerun with: -v | |
| ==17442== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-REQUEST_BASENAME.json | |
| RUN: test/test-cases/regression/sec_component_signature.json | |
| ============================================================ | |
| ==17468== Memcheck, a memory error detector | |
| ==17468== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17468== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17468== Command: ./regression_tests .././test/test-cases/regression/sec_component_signature.json | |
| ==17468== | |
| :test-result: PASS sec_component_signature.json:SecComponentSignature | |
| ==17468== | |
| ==17468== HEAP SUMMARY: | |
| ==17468== in use at exit: 402,444 bytes in 123 blocks | |
| ==17468== total heap usage: 7,697 allocs, 7,574 frees, 978,423 bytes allocated | |
| ==17468== | |
| ==17468== 73 bytes in 1 blocks are definitely lost in loss record 20 of 75 | |
| ==17468== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17468== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17468== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17468== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17468== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 204 (108 direct, 96 indirect) bytes in 1 blocks are definitely lost in loss record 51 of 75 | |
| ==17468== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17468== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17468== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17468== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17468== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 408 bytes in 1 blocks are definitely lost in loss record 56 of 75 | |
| ==17468== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17468== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 1,138 (640 direct, 498 indirect) bytes in 10 blocks are definitely lost in loss record 59 of 75 | |
| ==17468== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17468== by 0x446CEF: modsecurity::collection::backend::InMemoryPerProcess::resolveMultiMatches(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<modsecurity::collection::Variable const*, std::allocator<modsecurity::collection::Variable const*> >*) (in_memory-per_process.cc:104) | |
| ==17468== by 0x41558D: modsecurity::Transaction::toJSON[abi:cxx11](int) (transaction.cc:1395) | |
| ==17468== by 0x424077: modsecurity::audit_log::writer::Parallel::write(modsecurity::Transaction*, int) (parallel.cc:101) | |
| ==17468== by 0x423085: modsecurity::audit_log::AuditLog::saveIfRelevant(modsecurity::Transaction*, int) (audit_log.cc:259) | |
| ==17468== by 0x414D6D: modsecurity::Transaction::processLogging(int) (transaction.cc:1172) | |
| ==17468== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 2,049 bytes in 1 blocks are definitely lost in loss record 60 of 75 | |
| ==17468== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17468== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17468== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17468== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17468== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17468== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17468== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17468== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17468== by 0x4303D7: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:495) | |
| ==17468== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17468== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17468== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 8,248 bytes in 1 blocks are definitely lost in loss record 67 of 75 | |
| ==17468== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17468== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17468== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17468== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17468== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17468== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17468== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17468== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17468== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17468== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17468== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17468== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17468== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17468== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 68 of 75 | |
| ==17468== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17468== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17468== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 69 of 75 | |
| ==17468== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17468== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17468== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 70 of 75 | |
| ==17468== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17468== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17468== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 71 of 75 | |
| ==17468== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17468== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17468== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 72 of 75 | |
| ==17468== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17468== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17468== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17468== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17468== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17468== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 12,814 (64 direct, 12,750 indirect) bytes in 1 blocks are definitely lost in loss record 73 of 75 | |
| ==17468== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17468== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17468== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17468== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== 262,144 bytes in 1 blocks are definitely lost in loss record 75 of 75 | |
| ==17468== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17468== by 0x40BA0F: Rules (rules.h:63) | |
| ==17468== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17468== by 0x407CCC: main (regression.cc:387) | |
| ==17468== | |
| ==17468== LEAK SUMMARY: | |
| ==17468== definitely lost: 274,542 bytes in 22 blocks | |
| ==17468== indirectly lost: 54,550 bytes in 96 blocks | |
| ==17468== possibly lost: 0 bytes in 0 blocks | |
| ==17468== still reachable: 73,352 bytes in 5 blocks | |
| ==17468== suppressed: 0 bytes in 0 blocks | |
| ==17468== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17468== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17468== | |
| ==17468== For counts of detected and suppressed errors, rerun with: -v | |
| ==17468== ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/sec_component_signature.json | |
| RUN: test/test-cases/regression/variable-REQUEST_METHOD.json | |
| ============================================================ | |
| ==17499== Memcheck, a memory error detector | |
| ==17499== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17499== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17499== Command: ./regression_tests .././test/test-cases/regression/variable-REQUEST_METHOD.json | |
| ==17499== | |
| :test-result: PASS variable-REQUEST_METHOD.json:Testing Variables :: REQUEST_METHOD | |
| ==17499== | |
| ==17499== HEAP SUMMARY: | |
| ==17499== in use at exit: 401,002 bytes in 92 blocks | |
| ==17499== total heap usage: 7,518 allocs, 7,426 frees, 960,805 bytes allocated | |
| ==17499== | |
| ==17499== 163 bytes in 1 blocks are definitely lost in loss record 59 of 81 | |
| ==17499== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17499== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17499== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17499== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17499== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 408 bytes in 1 blocks are definitely lost in loss record 63 of 81 | |
| ==17499== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17499== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 64 of 81 | |
| ==17499== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17499== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17499== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17499== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17499== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 2,049 bytes in 1 blocks are definitely lost in loss record 66 of 81 | |
| ==17499== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17499== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17499== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17499== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17499== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17499== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17499== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17499== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17499== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==17499== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 8,248 bytes in 1 blocks are definitely lost in loss record 73 of 81 | |
| ==17499== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17499== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17499== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17499== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17499== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17499== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17499== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17499== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17499== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17499== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17499== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17499== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17499== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17499== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 74 of 81 | |
| ==17499== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17499== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17499== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 81 | |
| ==17499== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17499== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17499== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 81 | |
| ==17499== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17499== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17499== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 81 | |
| ==17499== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17499== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17499== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 81 | |
| ==17499== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17499== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17499== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17499== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17499== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17499== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 12,156 (64 direct, 12,092 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 81 | |
| ==17499== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17499== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17499== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17499== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== 262,144 bytes in 1 blocks are definitely lost in loss record 81 of 81 | |
| ==17499== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17499== by 0x40BA0F: Rules (rules.h:63) | |
| ==17499== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17499== by 0x407CCC: main (regression.cc:387) | |
| ==17499== | |
| ==17499== LEAK SUMMARY: | |
| ==17499== definitely lost: 273,992 bytes in 12 blocks | |
| ==17499== indirectly lost: 53,658 bytes in 75 blocks | |
| ==17499== possibly lost: 0 bytes in 0 blocks | |
| ==17499== still reachable: 73,352 bytes in 5 blocks | |
| ==17499== suppressed: 0 bytes in 0 blocks | |
| ==17499== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17499== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17499== | |
| ==17499== For counts of detected and suppressed errors, rerun with: -v | |
| ==17499== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-REQUEST_METHOD.json | |
| RUN: test/test-cases/regression/action-initcol.json | |
| =================================================== | |
| ==17525== Memcheck, a memory error detector | |
| ==17525== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17525== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17525== Command: ./regression_tests .././test/test-cases/regression/action-initcol.json | |
| ==17525== | |
| :test-result: PASS action-initcol.json:Testing initcol action | |
| ==17525== | |
| ==17525== HEAP SUMMARY: | |
| ==17525== in use at exit: 406,431 bytes in 133 blocks | |
| ==17525== total heap usage: 7,933 allocs, 7,800 frees, 1,032,977 bytes allocated | |
| ==17525== | |
| ==17525== 88 bytes in 1 blocks are definitely lost in loss record 62 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x4737E4: yy::seclang_parser::parse() (seclang-parser.yy:754) | |
| ==17525== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17525== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17525== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 163 bytes in 1 blocks are definitely lost in loss record 73 of 100 | |
| ==17525== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17525== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17525== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17525== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17525== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 408 bytes in 1 blocks are definitely lost in loss record 80 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 82 of 100 | |
| ==17525== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17525== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17525== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17525== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17525== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 1,820 (672 direct, 1,148 indirect) bytes in 4 blocks are definitely lost in loss record 84 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x44CF1D: modsecurity::operators::Rx::Rx(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) (rx.h:40) | |
| ==17525== by 0x449E7A: modsecurity::operators::Operator::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (operator.cc:155) | |
| ==17525== by 0x4710FE: yy::seclang_parser::parse() (seclang-parser.yy:461) | |
| ==17525== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17525== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17525== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 4,097 bytes in 1 blocks are definitely lost in loss record 85 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17525== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17525== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17525== by 0x5C10D37: std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<long>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17525== by 0x5C10ECC: std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17525== by 0x5C1D3E9: std::ostream& std::ostream::_M_insert<long>(long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17525== by 0x4139FA: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17525== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17525== by 0x4303D7: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:495) | |
| ==17525== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17525== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17525== | |
| ==17525== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 92 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17525== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 93 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17525== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 94 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17525== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 8,408 (8,248 direct, 160 indirect) bytes in 1 blocks are definitely lost in loss record 95 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17525== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17525== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17525== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17525== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17525== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17525== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17525== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17525== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17525== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17525== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17525== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17525== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 8,411 (64 direct, 8,347 indirect) bytes in 1 blocks are definitely lost in loss record 96 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17525== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 97 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17525== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17525== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17525== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17525== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 13,370 (64 direct, 13,306 indirect) bytes in 1 blocks are definitely lost in loss record 98 of 100 | |
| ==17525== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17525== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17525== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17525== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== 262,144 bytes in 1 blocks are definitely lost in loss record 100 of 100 | |
| ==17525== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17525== by 0x40BA0F: Rules (rules.h:63) | |
| ==17525== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17525== by 0x407CCC: main (regression.cc:387) | |
| ==17525== | |
| ==17525== LEAK SUMMARY: | |
| ==17525== definitely lost: 276,800 bytes in 17 blocks | |
| ==17525== indirectly lost: 56,279 bytes in 111 blocks | |
| ==17525== possibly lost: 0 bytes in 0 blocks | |
| ==17525== still reachable: 73,352 bytes in 5 blocks | |
| ==17525== suppressed: 0 bytes in 0 blocks | |
| ==17525== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17525== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17525== | |
| ==17525== For counts of detected and suppressed errors, rerun with: -v | |
| ==17525== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/action-initcol.json | |
| RUN: test/test-cases/regression/variable-FILES.json | |
| =================================================== | |
| ==17556== Memcheck, a memory error detector | |
| ==17556== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17556== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17556== Command: ./regression_tests .././test/test-cases/regression/variable-FILES.json | |
| ==17556== | |
| :test-result: PASS variable-FILES.json:Testing Variables :: FILES (1/1) | |
| ==17556== | |
| ==17556== HEAP SUMMARY: | |
| ==17556== in use at exit: 409,724 bytes in 191 blocks | |
| ==17556== total heap usage: 7,954 allocs, 7,763 frees, 1,001,265 bytes allocated | |
| ==17556== | |
| ==17556== 131 bytes in 1 blocks are definitely lost in loss record 109 of 144 | |
| ==17556== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17556== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17556== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17556== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17556== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 408 bytes in 1 blocks are definitely lost in loss record 122 of 144 | |
| ==17556== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17556== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 123 of 144 | |
| ==17556== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17556== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17556== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17556== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17556== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 1,692 (792 direct, 900 indirect) bytes in 3 blocks are definitely lost in loss record 128 of 144 | |
| ==17556== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17556== by 0x43855C: modsecurity::RequestBodyProcessor::Multipart::process_boundary(int) (multipart.cc:794) | |
| ==17556== by 0x43D367: modsecurity::RequestBodyProcessor::Multipart::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (multipart.cc:1271) | |
| ==17556== by 0x41CAEE: modsecurity::Transaction::processRequestBody() (transaction.cc:608) | |
| ==17556== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 4,097 bytes in 1 blocks are definitely lost in loss record 129 of 144 | |
| ==17556== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17556== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17556== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17556== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17556== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17556== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17556== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17556== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17556== by 0x42F927: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:391) | |
| ==17556== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17556== by 0x4143CC: modsecurity::Transaction::processResponseHeaders() (transaction.cc:838) | |
| ==17556== by 0x40D577: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:263) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 8,248 bytes in 1 blocks are definitely lost in loss record 136 of 144 | |
| ==17556== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17556== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17556== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17556== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17556== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17556== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17556== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17556== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17556== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17556== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17556== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17556== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17556== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17556== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 137 of 144 | |
| ==17556== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17556== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17556== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 138 of 144 | |
| ==17556== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17556== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17556== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 139 of 144 | |
| ==17556== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17556== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17556== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 140 of 144 | |
| ==17556== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17556== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17556== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 141 of 144 | |
| ==17556== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17556== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17556== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17556== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17556== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17556== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 17,170 (64 direct, 17,106 indirect) bytes in 1 blocks are definitely lost in loss record 142 of 144 | |
| ==17556== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17556== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17556== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17556== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== 262,144 bytes in 1 blocks are definitely lost in loss record 144 of 144 | |
| ==17556== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17556== by 0x40BA0F: Rules (rules.h:63) | |
| ==17556== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17556== by 0x407CCC: main (regression.cc:387) | |
| ==17556== | |
| ==17556== LEAK SUMMARY: | |
| ==17556== definitely lost: 276,800 bytes in 15 blocks | |
| ==17556== indirectly lost: 59,572 bytes in 171 blocks | |
| ==17556== possibly lost: 0 bytes in 0 blocks | |
| ==17556== still reachable: 73,352 bytes in 5 blocks | |
| ==17556== suppressed: 0 bytes in 0 blocks | |
| ==17556== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17556== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17556== | |
| ==17556== For counts of detected and suppressed errors, rerun with: -v | |
| ==17556== ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-FILES.json | |
| RUN: test/test-cases/regression/variable-REQUEST_BODY.json | |
| ========================================================== | |
| ==17577== Memcheck, a memory error detector | |
| ==17577== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17577== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17577== Command: ./regression_tests .././test/test-cases/regression/variable-REQUEST_BODY.json | |
| ==17577== | |
| :test-result: PASS variable-REQUEST_BODY.json:Testing Variables :: REQUEST_BODY | |
| ==17577== | |
| ==17577== HEAP SUMMARY: | |
| ==17577== in use at exit: 407,159 bytes in 130 blocks | |
| ==17577== total heap usage: 7,771 allocs, 7,641 frees, 998,103 bytes allocated | |
| ==17577== | |
| ==17577== 225 bytes in 1 blocks are definitely lost in loss record 89 of 115 | |
| ==17577== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17577== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17577== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17577== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17577== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 408 bytes in 1 blocks are definitely lost in loss record 92 of 115 | |
| ==17577== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17577== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 93 of 115 | |
| ==17577== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17577== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17577== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17577== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17577== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 4,097 bytes in 1 blocks are definitely lost in loss record 100 of 115 | |
| ==17577== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17577== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17577== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17577== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17577== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17577== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17577== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17577== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17577== by 0x42F380: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:369) | |
| ==17577== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17577== by 0x4143CC: modsecurity::Transaction::processResponseHeaders() (transaction.cc:838) | |
| ==17577== by 0x40D577: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:263) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 8,248 bytes in 1 blocks are definitely lost in loss record 107 of 115 | |
| ==17577== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17577== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17577== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17577== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17577== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17577== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17577== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17577== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17577== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17577== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17577== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17577== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17577== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17577== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 108 of 115 | |
| ==17577== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17577== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17577== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 109 of 115 | |
| ==17577== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17577== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17577== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 110 of 115 | |
| ==17577== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17577== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17577== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 111 of 115 | |
| ==17577== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17577== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17577== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 112 of 115 | |
| ==17577== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17577== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17577== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17577== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17577== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17577== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 16,203 (64 direct, 16,139 indirect) bytes in 1 blocks are definitely lost in loss record 113 of 115 | |
| ==17577== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17577== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17577== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17577== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== 262,144 bytes in 1 blocks are definitely lost in loss record 115 of 115 | |
| ==17577== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17577== by 0x40BA0F: Rules (rules.h:63) | |
| ==17577== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17577== by 0x407CCC: main (regression.cc:387) | |
| ==17577== | |
| ==17577== LEAK SUMMARY: | |
| ==17577== definitely lost: 276,102 bytes in 12 blocks | |
| ==17577== indirectly lost: 57,705 bytes in 113 blocks | |
| ==17577== possibly lost: 0 bytes in 0 blocks | |
| ==17577== still reachable: 73,352 bytes in 5 blocks | |
| ==17577== suppressed: 0 bytes in 0 blocks | |
| ==17577== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17577== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17577== | |
| ==17577== For counts of detected and suppressed errors, rerun with: -v | |
| ==17577== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-REQUEST_BODY.json | |
| RUN: test/test-cases/regression/request-body-parser-multipart-crlf.json | |
| ======================================================================= | |
| ==17634== Memcheck, a memory error detector | |
| ==17634== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17634== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17634== Command: ./regression_tests .././test/test-cases/regression/request-body-parser-multipart-crlf.json | |
| ==17634== | |
| :test-result: PASS request-body-parser-multipart-crlf.json:multipart parser (final CRLF) | |
| ==17634== | |
| ==17634== HEAP SUMMARY: | |
| ==17634== in use at exit: 397,496 bytes in 139 blocks | |
| ==17634== total heap usage: 7,900 allocs, 7,761 frees, 991,433 bytes allocated | |
| ==17634== | |
| ==17634== 188 bytes in 1 blocks are definitely lost in loss record 92 of 114 | |
| ==17634== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17634== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17634== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17634== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17634== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 408 bytes in 1 blocks are definitely lost in loss record 96 of 114 | |
| ==17634== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17634== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 97 of 114 | |
| ==17634== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17634== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17634== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17634== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17634== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 1,246 (528 direct, 718 indirect) bytes in 2 blocks are definitely lost in loss record 100 of 114 | |
| ==17634== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17634== by 0x43855C: modsecurity::RequestBodyProcessor::Multipart::process_boundary(int) (multipart.cc:794) | |
| ==17634== by 0x43D367: modsecurity::RequestBodyProcessor::Multipart::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (multipart.cc:1271) | |
| ==17634== by 0x41CAEE: modsecurity::Transaction::processRequestBody() (transaction.cc:608) | |
| ==17634== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 4,097 bytes in 1 blocks are definitely lost in loss record 101 of 114 | |
| ==17634== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17634== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17634== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17634== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17634== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17634== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17634== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17634== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17634== by 0x42E81B: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:299) | |
| ==17634== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17634== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17634== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 8,248 bytes in 1 blocks are definitely lost in loss record 107 of 114 | |
| ==17634== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17634== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17634== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17634== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17634== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17634== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17634== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17634== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17634== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17634== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17634== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17634== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17634== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17634== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 108 of 114 | |
| ==17634== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17634== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17634== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 109 of 114 | |
| ==17634== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17634== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17634== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 110 of 114 | |
| ==17634== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17634== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17634== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 111 of 114 | |
| ==17634== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17634== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17634== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 14,649 (64 direct, 14,585 indirect) bytes in 1 blocks are definitely lost in loss record 112 of 114 | |
| ==17634== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17634== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17634== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17634== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== 262,144 bytes in 1 blocks are definitely lost in loss record 114 of 114 | |
| ==17634== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17634== by 0x40BA0F: Rules (rules.h:63) | |
| ==17634== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17634== by 0x407CCC: main (regression.cc:387) | |
| ==17634== | |
| ==17634== LEAK SUMMARY: | |
| ==17634== definitely lost: 276,041 bytes in 13 blocks | |
| ==17634== indirectly lost: 48,655 bytes in 122 blocks | |
| ==17634== possibly lost: 0 bytes in 0 blocks | |
| ==17634== still reachable: 72,800 bytes in 4 blocks | |
| ==17634== suppressed: 0 bytes in 0 blocks | |
| ==17634== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17634== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17634== | |
| ==17634== For counts of detected and suppressed errors, rerun with: -v | |
| ==17634== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/request-body-parser-multipart-crlf.json | |
| RUN: test/test-cases/regression/variable-TIME_EPOCH.json | |
| ======================================================== | |
| ==17659== Memcheck, a memory error detector | |
| ==17659== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17659== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17659== Command: ./regression_tests .././test/test-cases/regression/variable-TIME_EPOCH.json | |
| ==17659== | |
| :test-result: PASS variable-TIME_EPOCH.json:Testing Variables :: TIME_EPOCH | |
| ==17659== | |
| ==17659== HEAP SUMMARY: | |
| ==17659== in use at exit: 401,475 bytes in 97 blocks | |
| ==17659== total heap usage: 7,570 allocs, 7,473 frees, 964,979 bytes allocated | |
| ==17659== | |
| ==17659== 191 bytes in 1 blocks are definitely lost in loss record 60 of 82 | |
| ==17659== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17659== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17659== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17659== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17659== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 408 bytes in 1 blocks are definitely lost in loss record 64 of 82 | |
| ==17659== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17659== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 65 of 82 | |
| ==17659== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17659== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17659== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17659== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17659== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 2,049 bytes in 1 blocks are definitely lost in loss record 67 of 82 | |
| ==17659== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17659== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17659== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17659== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17659== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17659== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17659== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17659== by 0x425C87: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:171) | |
| ==17659== by 0x41FB75: modsecurity::Transaction::processResponseBody() (transaction.cc:982) | |
| ==17659== by 0x40D5BF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:272) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 8,248 bytes in 1 blocks are definitely lost in loss record 74 of 82 | |
| ==17659== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17659== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17659== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17659== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17659== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17659== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17659== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17659== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17659== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17659== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17659== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17659== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17659== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17659== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 75 of 82 | |
| ==17659== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17659== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17659== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 82 | |
| ==17659== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17659== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17659== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 82 | |
| ==17659== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17659== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17659== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 82 | |
| ==17659== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17659== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17659== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 82 | |
| ==17659== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17659== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17659== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17659== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17659== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17659== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 12,601 (64 direct, 12,537 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 82 | |
| ==17659== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17659== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17659== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17659== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== 262,144 bytes in 1 blocks are definitely lost in loss record 82 of 82 | |
| ==17659== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17659== by 0x40BA0F: Rules (rules.h:63) | |
| ==17659== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17659== by 0x407CCC: main (regression.cc:387) | |
| ==17659== | |
| ==17659== LEAK SUMMARY: | |
| ==17659== definitely lost: 274,020 bytes in 12 blocks | |
| ==17659== indirectly lost: 54,103 bytes in 80 blocks | |
| ==17659== possibly lost: 0 bytes in 0 blocks | |
| ==17659== still reachable: 73,352 bytes in 5 blocks | |
| ==17659== suppressed: 0 bytes in 0 blocks | |
| ==17659== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17659== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17659== | |
| ==17659== For counts of detected and suppressed errors, rerun with: -v | |
| ==17659== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-TIME_EPOCH.json | |
| RUN: test/test-cases/regression/variable-HIGHEST_SEVERITY.json | |
| ============================================================== | |
| ==17676== Memcheck, a memory error detector | |
| ==17676== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17676== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17676== Command: ./regression_tests .././test/test-cases/regression/variable-HIGHEST_SEVERITY.json | |
| ==17676== | |
| :test-result: PASS variable-HIGHEST_SEVERITY.json:Testing Variables :: HIGHEST_SEVERITY (1/2) | |
| :test-result: PASS variable-HIGHEST_SEVERITY.json:Testing Variables :: HIGHEST_SEVERITY (2/2) | |
| ==17676== | |
| ==17676== HEAP SUMMARY: | |
| ==17676== in use at exit: 721,054 bytes in 200 blocks | |
| ==17676== total heap usage: 12,277 allocs, 12,077 frees, 1,494,143 bytes allocated | |
| ==17676== | |
| ==17676== 326 bytes in 2 blocks are definitely lost in loss record 67 of 89 | |
| ==17676== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17676== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17676== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17676== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17676== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 816 bytes in 2 blocks are definitely lost in loss record 72 of 89 | |
| ==17676== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17676== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 936 (216 direct, 720 indirect) bytes in 2 blocks are definitely lost in loss record 73 of 89 | |
| ==17676== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17676== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17676== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17676== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17676== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 4,098 bytes in 2 blocks are definitely lost in loss record 74 of 89 | |
| ==17676== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17676== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17676== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17676== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17676== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17676== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17676== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17676== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17676== by 0x42FDF5: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:402) | |
| ==17676== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17676== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17676== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 89 | |
| ==17676== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17676== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17676== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17676== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17676== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17676== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 16,496 bytes in 2 blocks are definitely lost in loss record 82 of 89 | |
| ==17676== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17676== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17676== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17676== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17676== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17676== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17676== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17676== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17676== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17676== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17676== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17676== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17676== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17676== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 83 of 89 | |
| ==17676== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17676== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17676== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 84 of 89 | |
| ==17676== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17676== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17676== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 85 of 89 | |
| ==17676== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17676== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17676== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 86 of 89 | |
| ==17676== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17676== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17676== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 25,480 (128 direct, 25,352 indirect) bytes in 2 blocks are definitely lost in loss record 87 of 89 | |
| ==17676== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17676== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17676== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17676== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== 524,288 bytes in 2 blocks are definitely lost in loss record 89 of 89 | |
| ==17676== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17676== by 0x40BA0F: Rules (rules.h:63) | |
| ==17676== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17676== by 0x407CCC: main (regression.cc:387) | |
| ==17676== | |
| ==17676== LEAK SUMMARY: | |
| ==17676== definitely lost: 547,432 bytes in 23 blocks | |
| ==17676== indirectly lost: 100,270 bytes in 172 blocks | |
| ==17676== possibly lost: 0 bytes in 0 blocks | |
| ==17676== still reachable: 73,352 bytes in 5 blocks | |
| ==17676== suppressed: 0 bytes in 0 blocks | |
| ==17676== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17676== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17676== | |
| ==17676== For counts of detected and suppressed errors, rerun with: -v | |
| ==17676== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-HIGHEST_SEVERITY.json | |
| RUN: test/test-cases/regression/variable-variation-exclusion.json | |
| ================================================================= | |
| ==17763== Memcheck, a memory error detector | |
| ==17763== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17763== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17763== Command: ./regression_tests .././test/test-cases/regression/variable-variation-exclusion.json | |
| ==17763== | |
| :test-result: PASS variable-variation-exclusion.json:Testing variable variations :: exclusion (1/2) | |
| :test-result: PASS variable-variation-exclusion.json:Testing variable variations :: exclusion (2/2) | |
| ==17763== | |
| ==17763== HEAP SUMMARY: | |
| ==17763== in use at exit: 729,927 bytes in 251 blocks | |
| ==17763== total heap usage: 12,785 allocs, 12,534 frees, 1,560,368 bytes allocated | |
| ==17763== | |
| ==17763== 88 bytes in 1 blocks are definitely lost in loss record 30 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x4738C6: yy::seclang_parser::parse() (seclang-parser.yy:737) | |
| ==17763== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17763== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17763== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 199 (176 direct, 23 indirect) bytes in 2 blocks are definitely lost in loss record 64 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x472A7E: yy::seclang_parser::parse() (seclang-parser.yy:746) | |
| ==17763== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17763== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17763== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 215 (128 direct, 87 indirect) bytes in 2 blocks are definitely lost in loss record 65 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x446C29: modsecurity::collection::backend::InMemoryPerProcess::resolveMultiMatches(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<modsecurity::collection::Variable const*, std::allocator<modsecurity::collection::Variable const*> >*) (in_memory-per_process.cc:91) | |
| ==17763== by 0x42E9FE: evaluateInternal (variable.h:81) | |
| ==17763== by 0x42E9FE: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:309) | |
| ==17763== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17763== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17763== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 454 bytes in 2 blocks are definitely lost in loss record 72 of 100 | |
| ==17763== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17763== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17763== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17763== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17763== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 816 bytes in 2 blocks are definitely lost in loss record 78 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 936 (216 direct, 720 indirect) bytes in 2 blocks are definitely lost in loss record 80 of 100 | |
| ==17763== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17763== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17763== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17763== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17763== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 1,164 (640 direct, 524 indirect) bytes in 10 blocks are definitely lost in loss record 81 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x446CEF: modsecurity::collection::backend::InMemoryPerProcess::resolveMultiMatches(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<modsecurity::collection::Variable const*, std::allocator<modsecurity::collection::Variable const*> >*) (in_memory-per_process.cc:104) | |
| ==17763== by 0x42E9FE: evaluateInternal (variable.h:81) | |
| ==17763== by 0x42E9FE: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:309) | |
| ==17763== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17763== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17763== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 4,097 bytes in 1 blocks are definitely lost in loss record 83 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17763== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17763== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17763== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17763== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17763== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17763== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17763== by 0x41F10F: modsecurity::Transaction::appendRequestBody(unsigned char const*, unsigned long) (transaction.cc:773) | |
| ==17763== by 0x40D3C7: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:250) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 4,097 bytes in 1 blocks are definitely lost in loss record 84 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17763== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17763== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17763== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17763== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17763== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17763== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17763== by 0x422F90: modsecurity::audit_log::AuditLog::saveIfRelevant(modsecurity::Transaction*, int) (audit_log.cc:238) | |
| ==17763== by 0x414D6D: modsecurity::Transaction::processLogging(int) (transaction.cc:1172) | |
| ==17763== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 8,248 bytes in 1 blocks are possibly lost in loss record 86 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17763== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17763== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17763== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17763== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17763== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17763== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17763== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17763== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17763== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17763== by 0x4251AB: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17763== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 8,376 (128 direct, 8,248 indirect) bytes in 2 blocks are definitely lost in loss record 88 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17763== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 89 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17763== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17763== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17763== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17763== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 16,496 bytes in 2 blocks are definitely lost in loss record 94 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17763== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17763== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17763== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17763== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17763== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17763== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17763== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17763== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17763== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17763== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17763== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17763== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 95 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17763== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 96 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17763== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 97 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17763== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 28,463 (128 direct, 28,335 indirect) bytes in 2 blocks are definitely lost in loss record 98 of 100 | |
| ==17763== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17763== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17763== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17763== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== 524,288 bytes in 2 blocks are definitely lost in loss record 100 of 100 | |
| ==17763== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17763== by 0x40BA0F: Rules (rules.h:63) | |
| ==17763== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17763== by 0x407CCC: main (regression.cc:387) | |
| ==17763== | |
| ==17763== LEAK SUMMARY: | |
| ==17763== definitely lost: 552,688 bytes in 38 blocks | |
| ==17763== indirectly lost: 95,639 bytes in 207 blocks | |
| ==17763== possibly lost: 8,248 bytes in 1 blocks | |
| ==17763== still reachable: 73,352 bytes in 5 blocks | |
| ==17763== suppressed: 0 bytes in 0 blocks | |
| ==17763== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17763== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17763== | |
| ==17763== For counts of detected and suppressed errors, rerun with: -v | |
| ==17763== ERROR SUMMARY: 18 errors from 18 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-variation-exclusion.json | |
| RUN: test/test-cases/regression/variable-GEO.json | |
| ================================================= | |
| ==17734== Memcheck, a memory error detector | |
| ==17734== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17734== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17734== Command: ./regression_tests .././test/test-cases/regression/variable-GEO.json | |
| ==17734== | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:AREA_CODE | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:CITY | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:COUNTRY_CODE | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:COUNTRY_CODE3 | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:COUNTRY_CONTINENT | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:COUNTRY_NAME | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:DMA_CODE | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:LATITUDE | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:LONGITUDE | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:POSTAL_CODE | |
| :test-result: PASS variable-GEO.json:Testing Variables :: GEO:REGION | |
| ==17734== | |
| ==17734== HEAP SUMMARY: | |
| ==17734== in use at exit: 3,626,344 bytes in 1,163 blocks | |
| ==17734== total heap usage: 56,131 allocs, 54,968 frees, 6,747,680 bytes allocated | |
| ==17734== | |
| ==17734== 1,865 bytes in 11 blocks are definitely lost in loss record 81 of 103 | |
| ==17734== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17734== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17734== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17734== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17734== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 4,488 bytes in 11 blocks are definitely lost in loss record 85 of 103 | |
| ==17734== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17734== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 5,148 (1,188 direct, 3,960 indirect) bytes in 11 blocks are definitely lost in loss record 86 of 103 | |
| ==17734== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17734== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17734== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17734== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17734== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 88 of 103 | |
| ==17734== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17734== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17734== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17734== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17734== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17734== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 45,067 bytes in 11 blocks are definitely lost in loss record 89 of 103 | |
| ==17734== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17734== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17734== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17734== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17734== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17734== by 0x4139EF: operator<< <std::char_traits<char> > (ostream:561) | |
| ==17734== by 0x4139EF: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17734== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17734== by 0x42F927: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:391) | |
| ==17734== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17734== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17734== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 90,728 bytes in 11 blocks are definitely lost in loss record 96 of 103 | |
| ==17734== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17734== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17734== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17734== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17734== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17734== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17734== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17734== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17734== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17734== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17734== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17734== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17734== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17734== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 91,432 (704 direct, 90,728 indirect) bytes in 11 blocks are definitely lost in loss record 97 of 103 | |
| ==17734== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17734== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17734== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 91,432 (704 direct, 90,728 indirect) bytes in 11 blocks are definitely lost in loss record 98 of 103 | |
| ==17734== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17734== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17734== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 91,432 (704 direct, 90,728 indirect) bytes in 11 blocks are definitely lost in loss record 99 of 103 | |
| ==17734== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17734== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17734== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 91,432 (704 direct, 90,728 indirect) bytes in 11 blocks are definitely lost in loss record 100 of 103 | |
| ==17734== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17734== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17734== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 147,618 (704 direct, 146,914 indirect) bytes in 11 blocks are definitely lost in loss record 101 of 103 | |
| ==17734== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17734== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17734== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17734== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 524,288 bytes in 2 blocks are possibly lost in loss record 102 of 103 | |
| ==17734== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17734== by 0x40BA0F: Rules (rules.h:63) | |
| ==17734== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== 2,359,296 bytes in 9 blocks are definitely lost in loss record 103 of 103 | |
| ==17734== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17734== by 0x40BA0F: Rules (rules.h:63) | |
| ==17734== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17734== by 0x407CCC: main (regression.cc:387) | |
| ==17734== | |
| ==17734== LEAK SUMMARY: | |
| ==17734== definitely lost: 2,506,704 bytes in 120 blocks | |
| ==17734== indirectly lost: 522,000 bytes in 1,036 blocks | |
| ==17734== possibly lost: 524,288 bytes in 2 blocks | |
| ==17734== still reachable: 73,352 bytes in 5 blocks | |
| ==17734== suppressed: 0 bytes in 0 blocks | |
| ==17734== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17734== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17734== | |
| ==17734== For counts of detected and suppressed errors, rerun with: -v | |
| ==17734== ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-GEO.json | |
| RUN: test/test-cases/regression/variable-SESSIONID.json | |
| ======================================================= | |
| ==17771== Memcheck, a memory error detector | |
| ==17771== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17771== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17771== Command: ./regression_tests .././test/test-cases/regression/variable-SESSIONID.json | |
| ==17771== | |
| :test-result: PASS variable-SESSIONID.json:Testing SESSIONID variable (1/2) | |
| :test-result: PASS variable-SESSIONID.json:Testing SESSIONID variable (2/2) | |
| ==17771== | |
| ==17771== HEAP SUMMARY: | |
| ==17771== in use at exit: 737,480 bytes in 310 blocks | |
| ==17771== total heap usage: 13,049 allocs, 12,739 frees, 1,643,351 bytes allocated | |
| ==17771== | |
| ==17771== 282 bytes in 2 blocks are definitely lost in loss record 68 of 102 | |
| ==17771== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17771== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17771== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17771== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17771== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 816 bytes in 2 blocks are definitely lost in loss record 80 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 936 (216 direct, 720 indirect) bytes in 2 blocks are definitely lost in loss record 82 of 102 | |
| ==17771== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17771== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17771== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17771== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17771== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 3,590 (1,344 direct, 2,246 indirect) bytes in 8 blocks are definitely lost in loss record 85 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x44CF1D: modsecurity::operators::Rx::Rx(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) (rx.h:40) | |
| ==17771== by 0x449E7A: modsecurity::operators::Operator::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (operator.cc:155) | |
| ==17771== by 0x4710FE: yy::seclang_parser::parse() (seclang-parser.yy:461) | |
| ==17771== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17771== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17771== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 4,097 bytes in 1 blocks are definitely lost in loss record 86 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17771== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17771== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17771== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17771== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17771== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17771== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17771== by 0x48B0BE: modsecurity::actions::SetVar::evaluate(modsecurity::Rule*, modsecurity::Transaction*) (set_var.cc:138) | |
| ==17771== by 0x43040E: evaluate (action.h:114) | |
| ==17771== by 0x43040E: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:497) | |
| ==17771== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17771== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17771== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17771== | |
| ==17771== 8,193 bytes in 1 blocks are definitely lost in loss record 88 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17771== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17771== by 0x5C1C8EC: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17771== by 0x413A48: endl<char, std::char_traits<char> > (ostream:591) | |
| ==17771== by 0x413A48: operator<< (ostream:113) | |
| ==17771== by 0x413A48: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17771== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17771== by 0x42FDF5: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:402) | |
| ==17771== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17771== by 0x4142BC: modsecurity::Transaction::processRequestHeaders() (transaction.cc:418) | |
| ==17771== by 0x40D387: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:242) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 89 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17771== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17771== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17771== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17771== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 16,496 bytes in 2 blocks are definitely lost in loss record 95 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17771== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17771== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17771== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17771== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17771== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17771== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17771== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17771== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17771== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17771== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17771== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17771== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 96 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17771== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 97 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17771== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 98 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17771== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 16,983 (128 direct, 16,855 indirect) bytes in 2 blocks are definitely lost in loss record 99 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17771== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 29,809 (128 direct, 29,681 indirect) bytes in 2 blocks are definitely lost in loss record 100 of 102 | |
| ==17771== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17771== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17771== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17771== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== 524,288 bytes in 2 blocks are definitely lost in loss record 102 of 102 | |
| ==17771== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17771== by 0x40BA0F: Rules (rules.h:63) | |
| ==17771== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17771== by 0x407CCC: main (regression.cc:387) | |
| ==17771== | |
| ==17771== LEAK SUMMARY: | |
| ==17771== definitely lost: 556,924 bytes in 31 blocks | |
| ==17771== indirectly lost: 107,204 bytes in 274 blocks | |
| ==17771== possibly lost: 0 bytes in 0 blocks | |
| ==17771== still reachable: 73,352 bytes in 5 blocks | |
| ==17771== suppressed: 0 bytes in 0 blocks | |
| ==17771== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17771== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17771== | |
| ==17771== For counts of detected and suppressed errors, rerun with: -v | |
| ==17771== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-SESSIONID.json | |
| RUN: test/test-cases/regression/variable-SERVER_PORT.json | |
| ========================================================= | |
| ==17781== Memcheck, a memory error detector | |
| ==17781== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17781== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17781== Command: ./regression_tests .././test/test-cases/regression/variable-SERVER_PORT.json | |
| ==17781== | |
| :test-result: PASS variable-SERVER_PORT.json:Testing Variables :: SERVER_PORT | |
| :test-result: PASS variable-SERVER_PORT.json:Testing Variables :: SERVER_PORT | |
| ==17781== | |
| ==17781== HEAP SUMMARY: | |
| ==17781== in use at exit: 720,760 bytes in 186 blocks | |
| ==17781== total heap usage: 12,185 allocs, 11,999 frees, 1,488,363 bytes allocated | |
| ==17781== | |
| ==17781== 310 bytes in 2 blocks are definitely lost in loss record 58 of 82 | |
| ==17781== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17781== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17781== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17781== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17781== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 816 bytes in 2 blocks are definitely lost in loss record 65 of 82 | |
| ==17781== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17781== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 936 (216 direct, 720 indirect) bytes in 2 blocks are definitely lost in loss record 66 of 82 | |
| ==17781== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17781== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17781== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17781== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17781== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 4,098 bytes in 2 blocks are definitely lost in loss record 67 of 82 | |
| ==17781== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17781== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17781== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17781== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17781== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17781== by 0x413A0F: operator<< <std::char_traits<char> > (ostream:561) | |
| ==17781== by 0x413A0F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17781== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17781== by 0x414BF9: modsecurity::Transaction::processLogging(int) (transaction.cc:1123) | |
| ==17781== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 69 of 82 | |
| ==17781== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17781== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17781== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17781== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17781== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17781== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 16,496 bytes in 2 blocks are definitely lost in loss record 75 of 82 | |
| ==17781== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17781== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17781== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17781== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17781== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17781== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17781== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17781== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17781== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17781== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17781== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17781== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17781== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17781== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 76 of 82 | |
| ==17781== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17781== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17781== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 77 of 82 | |
| ==17781== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17781== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17781== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 78 of 82 | |
| ==17781== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17781== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17781== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 16,624 (128 direct, 16,496 indirect) bytes in 2 blocks are definitely lost in loss record 79 of 82 | |
| ==17781== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17781== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17781== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 25,202 (128 direct, 25,074 indirect) bytes in 2 blocks are definitely lost in loss record 80 of 82 | |
| ==17781== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17781== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17781== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17781== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== 524,288 bytes in 2 blocks are definitely lost in loss record 82 of 82 | |
| ==17781== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17781== by 0x40BA0F: Rules (rules.h:63) | |
| ==17781== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17781== by 0x407CCC: main (regression.cc:387) | |
| ==17781== | |
| ==17781== LEAK SUMMARY: | |
| ==17781== definitely lost: 547,416 bytes in 23 blocks | |
| ==17781== indirectly lost: 99,992 bytes in 158 blocks | |
| ==17781== possibly lost: 0 bytes in 0 blocks | |
| ==17781== still reachable: 73,352 bytes in 5 blocks | |
| ==17781== suppressed: 0 bytes in 0 blocks | |
| ==17781== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17781== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17781== | |
| ==17781== For counts of detected and suppressed errors, rerun with: -v | |
| ==17781== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-SERVER_PORT.json | |
| RUN: test/test-cases/regression/variable-DURATION.json | |
| ====================================================== | |
| ==17801== Memcheck, a memory error detector | |
| ==17801== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17801== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17801== Command: ./regression_tests .././test/test-cases/regression/variable-DURATION.json | |
| ==17801== | |
| :test-result: PASS variable-DURATION.json:Testing Variables :: AUTH_TYPE | |
| ==17801== | |
| ==17801== HEAP SUMMARY: | |
| ==17801== in use at exit: 401,704 bytes in 102 blocks | |
| ==17801== total heap usage: 7,704 allocs, 7,602 frees, 974,913 bytes allocated | |
| ==17801== | |
| ==17801== 137 bytes in 1 blocks are definitely lost in loss record 57 of 83 | |
| ==17801== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17801== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17801== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17801== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17801== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 408 bytes in 1 blocks are definitely lost in loss record 64 of 83 | |
| ==17801== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17801== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 468 (108 direct, 360 indirect) bytes in 1 blocks are definitely lost in loss record 65 of 83 | |
| ==17801== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17801== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17801== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17801== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17801== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 2,049 bytes in 1 blocks are definitely lost in loss record 68 of 83 | |
| ==17801== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17801== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17801== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17801== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17801== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17801== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17801== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17801== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17801== by 0x42E81B: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:299) | |
| ==17801== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17801== by 0x4143CC: modsecurity::Transaction::processResponseHeaders() (transaction.cc:838) | |
| ==17801== by 0x40D577: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:263) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 8,248 bytes in 1 blocks are definitely lost in loss record 75 of 83 | |
| ==17801== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17801== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17801== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17801== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17801== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17801== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17801== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17801== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17801== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17801== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17801== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17801== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17801== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17801== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 76 of 83 | |
| ==17801== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17801== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17801== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 77 of 83 | |
| ==17801== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17801== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17801== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 78 of 83 | |
| ==17801== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17801== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17801== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 8,312 (64 direct, 8,248 indirect) bytes in 1 blocks are definitely lost in loss record 79 of 83 | |
| ==17801== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17801== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17801== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 80 of 83 | |
| ==17801== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17801== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17801== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17801== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17801== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17801== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 12,884 (64 direct, 12,820 indirect) bytes in 1 blocks are definitely lost in loss record 81 of 83 | |
| ==17801== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17801== by 0x4453E1: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:44) | |
| ==17801== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17801== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== 262,144 bytes in 1 blocks are definitely lost in loss record 83 of 83 | |
| ==17801== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17801== by 0x40BA0F: Rules (rules.h:63) | |
| ==17801== by 0x40BA0F: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:115) | |
| ==17801== by 0x407CCC: main (regression.cc:387) | |
| ==17801== | |
| ==17801== LEAK SUMMARY: | |
| ==17801== definitely lost: 273,966 bytes in 12 blocks | |
| ==17801== indirectly lost: 54,386 bytes in 85 blocks | |
| ==17801== possibly lost: 0 bytes in 0 blocks | |
| ==17801== still reachable: 73,352 bytes in 5 blocks | |
| ==17801== suppressed: 0 bytes in 0 blocks | |
| ==17801== Reachable blocks (those to which a pointer was found) are not shown. | |
| ==17801== To see them, rerun with: --leak-check=full --show-leak-kinds=all | |
| ==17801== | |
| ==17801== For counts of detected and suppressed errors, rerun with: -v | |
| ==17801== ERROR SUMMARY: 12 errors from 12 contexts (suppressed: 0 from 0) | |
| valgrind --tool=memcheck --leak-check=full --show-reachable=no ./regression_tests .././test/test-cases/regression/variable-DURATION.json | |
| RUN: test/test-cases/regression/secruleengine.json | |
| ================================================== | |
| ==17836== Memcheck, a memory error detector | |
| ==17836== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. | |
| ==17836== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==17836== Command: ./regression_tests .././test/test-cases/regression/secruleengine.json | |
| ==17836== | |
| :test-result: PASS secruleengine.json:Testing Disruptive actions (1/n) | |
| :test-result: PASS secruleengine.json:Testing Disruptive actions (2/n) | |
| :test-result: PASS secruleengine.json:Testing Disruptive actions (3/n) | |
| :test-result: PASS secruleengine.json:Testing Disruptive actions (4/n) | |
| :test-result: PASS secruleengine.json:Testing Disruptive actions (5/n) | |
| ==17836== | |
| ==17836== HEAP SUMMARY: | |
| ==17836== in use at exit: 1,663,582 bytes in 258 blocks | |
| ==17836== total heap usage: 24,535 allocs, 24,277 frees, 2,965,233 bytes allocated | |
| ==17836== | |
| ==17836== 440 bytes in 5 blocks are definitely lost in loss record 42 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x440392: modsecurity::actions::Action::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (action.cc:90) | |
| ==17836== by 0x46E5EC: yy::seclang_parser::parse() (seclang-parser.yy:900) | |
| ==17836== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17836== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17836== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 480 bytes in 5 blocks are definitely lost in loss record 44 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x43EDA8: modsecurity::actions::Action::instantiate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (action.cc:66) | |
| ==17836== by 0x46E5EC: yy::seclang_parser::parse() (seclang-parser.yy:900) | |
| ==17836== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17836== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17836== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 713 bytes in 5 blocks are definitely lost in loss record 46 of 67 | |
| ==17836== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17836== by 0x52E4641: pcre_compile2 (pcre_compile.c:9364) | |
| ==17836== by 0x45D2A9: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:43) | |
| ==17836== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17836== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 1,025 bytes in 1 blocks are definitely lost in loss record 47 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17836== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17836== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17836== by 0x42D842: modsecurity::Rule::evaluateActions(modsecurity::Transaction*) (rule.cc:204) | |
| ==17836== by 0x42EEFA: modsecurity::Rule::evaluate(modsecurity::Transaction*) (rule.cc:281) | |
| ==17836== by 0x425D12: modsecurity::Rules::evaluate(int, modsecurity::Transaction*) (rules.cc:176) | |
| ==17836== by 0x41C770: modsecurity::Transaction::processRequestBody() (transaction.cc:711) | |
| ==17836== by 0x40D3CF: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:251) | |
| ==17836== | |
| ==17836== 2,040 bytes in 5 blocks are definitely lost in loss record 49 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x40B14B: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:90) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 2,049 bytes in 1 blocks are definitely lost in loss record 50 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x413A1F: operator<< <char, std::char_traits<char>, std::allocator<char> > (basic_string.h:5177) | |
| ==17836== by 0x413A1F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17836== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17836== by 0x414CE4: modsecurity::Transaction::processLogging(int) (transaction.cc:1141) | |
| ==17836== by 0x40C452: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:279) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 2,340 (540 direct, 1,800 indirect) bytes in 5 blocks are definitely lost in loss record 51 of 67 | |
| ==17836== at 0x4C2DBB6: malloc (vg_replace_malloc.c:299) | |
| ==17836== by 0x5328700: pcre_study (pcre_study.c:1572) | |
| ==17836== by 0x45D2BD: modsecurity::Utils::Regex::Regex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (regex.cc:45) | |
| ==17836== by 0x413D5A: modsecurity_test::CustomDebugLog::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:37) | |
| ==17836== by 0x40C471: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:285) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 3,075 bytes in 3 blocks are definitely lost in loss record 52 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x5C2D86C: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x5C21CC4: std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow(int) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x5C2BE68: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x5C1CEB5: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) | |
| ==17836== by 0x413A0F: operator<< <std::char_traits<char> > (ostream:561) | |
| ==17836== by 0x413A0F: modsecurity_test::CustomDebugLog::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (custom_debug_log.cc:32) | |
| ==17836== by 0x414184: modsecurity::Transaction::debug(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (transaction.cc:185) | |
| ==17836== by 0x42014F: modsecurity::Transaction::appendResponseBody(unsigned char const*, unsigned long) (transaction.cc:1022) | |
| ==17836== by 0x40D5B7: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:271) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 8,766 (552 direct, 8,214 indirect) bytes in 1 blocks are definitely lost in loss record 54 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x42C271: modsecurity::DebugLogWriter::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debug_log_writer.cc:35) | |
| ==17836== by 0x4722DB: yy::seclang_parser::parse() (seclang-parser.yy:615) | |
| ==17836== by 0x461E2D: modsecurity::Parser::Driver::parse(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&) (driver.cc:128) | |
| ==17836== by 0x4281D8: modsecurity::Rules::load(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (rules.cc:129) | |
| ==17836== by 0x40BA93: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:140) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 41,240 bytes in 5 blocks are definitely lost in loss record 60 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x4476CA: allocate (new_allocator.h:104) | |
| ==17836== by 0x4476CA: allocate (alloc_traits.h:491) | |
| ==17836== by 0x4476CA: _M_allocate_buckets (hashtable_policy.h:1996) | |
| ==17836== by 0x4476CA: _M_allocate_buckets (hashtable.h:347) | |
| ==17836== by 0x4476CA: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, false>) (hashtable.h:2015) | |
| ==17836== by 0x447847: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<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> > >, std::allocator<std::pair<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> > > >, std::__detail::_Select1st, modsecurity::collection::backend::MyEqual, modsecurity::collection::backend::MyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, false> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1953) | |
| ==17836== by 0x446EFD: rehash (hashtable.h:1936) | |
| ==17836== by 0x446EFD: reserve (hashtable_policy.h:957) | |
| ==17836== by 0x446EFD: reserve (unordered_map.h:1505) | |
| ==17836== by 0x446EFD: modsecurity::collection::backend::InMemoryPerProcess::InMemoryPerProcess() (in_memory-per_process.cc:35) | |
| ==17836== by 0x4454A7: modsecurity::collection::Collections::Collections(modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*, modsecurity::collection::Collection*) (collections.cc:46) | |
| ==17836== by 0x41E1DA: modsecurity::Transaction::Transaction(modsecurity::ModSecurity*, modsecurity::Rules*, void*) (transaction.cc:120) | |
| ==17836== by 0x40C401: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:218) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 61 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x425156: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17836== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 62 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x42516E: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17836== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 63 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x425187: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17836== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 41,560 (320 direct, 41,240 indirect) bytes in 5 blocks are definitely lost in loss record 64 of 67 | |
| ==17836== at 0x4C2E1D6: operator new(unsigned long) (vg_replace_malloc.c:334) | |
| ==17836== by 0x4251A0: modsecurity::ModSecurity::ModSecurity() (modsecurity.cc:53) | |
| ==17836== by 0x40B4E3: perform_unit_test(modsecurity_test::ModSecurityTest<modsecurity_test::RegressionTest>*, std::vector<modsecurity_test::RegressionTest*, std::allocator<modsecurity_test::RegressionTest*> >*, modsecurity_test::ModSecurityTestResults<modsecurity_test::RegressionTestResult>*, int*) (regression.cc:111) | |
| ==17836== by 0x407CCC: main (regression.cc:387) | |
| ==17836== | |
| ==17836== 51,102 (320 direct, 50,782 indirect) bytes in 5 blocks are definitely los |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment