Ferenc Gerlits created MINIFICPP-1353:
-----------------------------------------
Summary: Fix heap-use-after-free errors
Key: MINIFICPP-1353
URL: https://issues.apache.org/jira/browse/MINIFICPP-1353
Project: Apache NiFi MiNiFi C++
Issue Type: Bug
Reporter: Ferenc Gerlits
Assignee: Ferenc Gerlits
Fix For: 0.9.0
Address sanitizer finds one heap-use-after-free error when run on the unit
tests:
{noformat}
==26761==ERROR: AddressSanitizer: heap-use-after-free on address 0x60600002c4a8
at pc 0x55d957b02e44 bp 0x7f6e736875d0 sp 0x7f6e736875c0
WRITE of size 1 at 0x60600002c4a8 thread T56
#0 0x55d957b02e43 in std::__atomic_base<bool>::store(bool,
std::memory_order) /usr/include/c++/8/bits/atomic_base.h:374
#1 0x55d957b02e43 in std::__atomic_base<bool>::operator=(bool)
/usr/include/c++/8/bits/atomic_base.h:267
#2 0x55d957acb3c8 in std::atomic<bool>::operator=(bool)
/usr/include/c++/8/atomic:79
#3 0x55d9581a02b9 in
org::apache::nifi::minifi::utils::HTTPClient::forceClose()
/home/fgerlits/src/minifi2/extensions/http-curl/client/HTTPClient.cpp:75
#4 0x55d9581a00f1 in
org::apache::nifi::minifi::utils::HTTPClient::~HTTPClient()
/home/fgerlits/src/minifi2/extensions/http-curl/client/HTTPClient.cpp:64
#5 0x55d9581c9f00 in
org::apache::nifi::minifi::processors::InvokeHTTP::onTrigger(std::shared_ptr<org::apache::nifi::minifi::core::ProcessContext>
const&, std::shared_ptr<org::apache::nifi::minifi::core::ProcessSession>
const&)
/home/fgerlits/src/minifi2/extensions/http-curl/processors/InvokeHTTP.cpp:286
[...]
0x60600002c4a8 is located 40 bytes inside of 64-byte region
[0x60600002c480,0x60600002c4c0)
freed by thread T56 here:
#0 0x7f6e795c8a50 in operator delete(void*)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0xf0a50)
#1 0x55d9581970e3 in
std::default_delete<org::apache::nifi::minifi::utils::HTTPUploadCallback>::operator()(org::apache::nifi::minifi::utils::HTTPUploadCallback*)
const /usr/include/c++/8/bits/unique_ptr.h:81
#2 0x55d958195e2a in
std::unique_ptr<org::apache::nifi::minifi::utils::HTTPUploadCallback,
std::default_delete<org::apache::nifi::minifi::utils::HTTPUploadCallback>
>::~unique_ptr() /usr/include/c++/8/bits/unique_ptr.h:277
#3 0x55d9581c9ee2 in
org::apache::nifi::minifi::processors::InvokeHTTP::onTrigger(std::shared_ptr<org::apache::nifi::minifi::core::ProcessContext>
const&, std::shared_ptr<org::apache::nifi::minifi::core::ProcessSession>
const&)
/home/fgerlits/src/minifi2/extensions/http-curl/processors/InvokeHTTP.cpp:306
[...]
previously allocated by thread T56 here:
#0 0x7f6e795c7ba0 in operator new(unsigned long)
(/usr/lib/x86_64-linux-gnu/libasan.so.5+0xefba0)
#1 0x55d9581c86f7 in
org::apache::nifi::minifi::processors::InvokeHTTP::onTrigger(std::shared_ptr<org::apache::nifi::minifi::core::ProcessContext>
const&, std::shared_ptr<org::apache::nifi::minifi::core::ProcessSession>
const&)
/home/fgerlits/src/minifi2/extensions/http-curl/processors/InvokeHTTP.cpp:313
[...]
{noformat}
Fix this bug.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)