-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hide implementation details from the shared library #6
Comments
Partially resolved in 36ce736. Needs more work. |
Finished with 20b9189. |
dkopecek
pushed a commit
that referenced
this issue
May 26, 2016
Resolves: #69 Addresses: ``` Direct leak of 72 byte(s) in 1 object(s) allocated from: #0 0x7f8076950bb0 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc2bb0) #1 0x7f8075969fe5 in usbguard::parseRuleSpecification(std::__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*, unsigned int) src/Library/RuleParser.cpp:72 #2 0x7f807599382f in usbguard::RulePrivate::fromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/Library/RulePrivate.cpp:599 #3 0x7f8075958d38 in usbguard::Rule::fromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/Library/Rule.cpp:254 #4 0x512764 in ____C_A_T_C_H____T_E_S_T____6 Regression/test_Rule_ghi37.cpp:15 #5 0x461b26 in Catch::FreeFunctionTestCase::invoke() const (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x461b26) #6 0x416165 in Catch::TestCase::invoke() const ../../src/ThirdParty/Catch/include/internal/catch_test_case_info.hpp:176 #7 0x45cffb in Catch::RunContext::invokeActiveTestCase() (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x45cffb) #8 0x45bcfe in Catch::RunContext::runCurrentTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x45bcfe) #9 0x454516 in Catch::RunContext::runTest(Catch::TestCase const&) (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x454516) #10 0x40d04f in Catch::runTests(Catch::Ptr<Catch::Config> const&) ../../src/ThirdParty/Catch/include/internal/../catch_session.hpp:78 #11 0x45f67f in Catch::Session::run() (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x45f67f) #12 0x45ef2f in Catch::Session::run(int, char const* const*) (/home/james/deb-pkg/TEMP-PACKAGES/usbguard/upstream/src/Tests/.libs/lt-test-regression+0x45ef2f) #13 0x42ad3a in main ../../src/ThirdParty/Catch/include/internal/catch_default_main.hpp:15 #14 0x7f80736df77f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2077f) ```
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
A shared library is provided to abstract the details of IPC implementation and to allow developing clients for the usbguard daemon (applets, control apps, etc). However, since the public IPCClient class contains private members of types which need to be defined (qb types, json, etc.), it's needed to ship a lot of third-party files. This could be avoided by using a "d-pointer" (pimpl, opaque pointer, whatever...).
The text was updated successfully, but these errors were encountered: