-
Notifications
You must be signed in to change notification settings - Fork 191
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
heap-use-after-free when processing an RPC with no input and no outputs #1695
Comments
Here's how to reproduce with no C++ code:
rpc noop {}
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="46"><noop xmlns="http://example.com"/></rpc>
|
Hi, should be fixed. |
Your change in sysrepo/sysrepo@927fd522 introduced a regression which was caught by sysrepo-cpp's unit tests. We can adapt to these changes, but please keep in mind that this is definitely a very visible change in behavior and of the API contract. If you change a function to suddenly allow returning a
|
We were aware of the exact effect and while causing all the issues you mentioned, we think this is how it was supposed to always work and so the change is a positive one in the long run. |
Under ASAN+UBSAN, with the latest devel of everything (CESNET/libyang@2766cdf96, CESNET/libnetconf2@c0bac65, sysrepo/sysrepo@5f1fd923 and d95c2e63) and the appropriate versions of the C++ bindings (CESNET/libyang-cpp@31131f2, CESNET/libnetconf2-cpp@0374395, sysrepo/sysrepo-cpp@b34fb20 aka
refs/changes/32/8132/4
), the unit tests ofnetconf-cli
fail. The test in question,test_datastore_access_netconf
, launches thenetopeer2-server
process in the background, connects via a local socket, and tests the CLI against that NETCONF server. Some sysrepo-level callbacks are in place.The CTest process appears to take a looooooong time, and when it eventually fails, the following is at the end of
test_netopeer_outputs/netconf-cli_test_datastore_access_netconf.out
which is where the launchednetopeer2-server
logs its output:This used to work with 6d1cb61.
The text was updated successfully, but these errors were encountered: