You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by GitBox <gi...@apache.org> on 2022/04/13 08:28:31 UTC

[GitHub] [nifi-minifi-cpp] lordgamez opened a new pull request, #1300: MINIFICPP-1675 Use regex.h instead of std::regex when using libstdc++

lordgamez opened a new pull request, #1300:
URL: https://github.com/apache/nifi-minifi-cpp/pull/1300

   Due to a bug in the libstdc++ implementation of std::regex it is unsafe to use std::regex_match and std::regex_search on large texts as the process can crash due to a stack overflow. In this PR std::regex usages are replaced with minifi::utils::Regex which uses regex.h if libstdc++ is used otherwise it uses std::regex.
   
   There are a few exceptions:
   
   - std::regex is still used for regex_replace calls
   - AppendHostInfo still uses std::regex as POSIX regex grammar is not sufficient for easily filtering interface names, and there is no risk of running into the bug as the interface names are small
   - In tests and mocks we still use std::regex as they are only run in our test environments with controlled inputs and sometimes use regex patterns not available in POSIX grammar
   
   -----------------------------------------------------
   Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced
        in the commit message?
   
   - [ ] Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
   
   - [ ] Has your PR been rebased against the latest commit within the target branch (typically main)?
   
   - [ ] Is your initial contribution a single, squashed commit?
   
   ### For code changes:
   - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)?
   - [ ] If applicable, have you updated the LICENSE file?
   - [ ] If applicable, have you updated the NOTICE file?
   
   ### For documentation related changes:
   - [ ] Have you ensured that format looks appropriate for the output in which it is rendered?
   
   ### Note:
   Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@nifi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [nifi-minifi-cpp] lordgamez commented on a diff in pull request #1300: MINIFICPP-1675 Use regex.h instead of std::regex when using libstdc++

Posted by GitBox <gi...@apache.org>.
lordgamez commented on code in PR #1300:
URL: https://github.com/apache/nifi-minifi-cpp/pull/1300#discussion_r856212180


##########
extensions/standard-processors/tests/unit/ExtractTextTests.cpp:
##########
@@ -180,3 +181,36 @@ TEST_CASE("Test usage of ExtractText in regex mode", "[extracttextRegexTest]") {
 
   LogTestController::getInstance().reset();
 }
+
+#ifndef NO_MORE_REGFREEE

Review Comment:
   Good catch, it was turned off while testing locally, I readded it in affce89dfb183b10598bf0e8a4351a0e92db3fb2



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@nifi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [nifi-minifi-cpp] szaszm closed pull request #1300: MINIFICPP-1675 Use regex.h instead of std::regex when using libstdc++

Posted by GitBox <gi...@apache.org>.
szaszm closed pull request #1300: MINIFICPP-1675 Use regex.h instead of std::regex when using libstdc++
URL: https://github.com/apache/nifi-minifi-cpp/pull/1300


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@nifi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [nifi-minifi-cpp] szaszm commented on a diff in pull request #1300: MINIFICPP-1675 Use regex.h instead of std::regex when using libstdc++

Posted by GitBox <gi...@apache.org>.
szaszm commented on code in PR #1300:
URL: https://github.com/apache/nifi-minifi-cpp/pull/1300#discussion_r856199399


##########
extensions/standard-processors/tests/unit/ExtractTextTests.cpp:
##########
@@ -180,3 +181,36 @@ TEST_CASE("Test usage of ExtractText in regex mode", "[extracttextRegexTest]") {
 
   LogTestController::getInstance().reset();
 }
+
+#ifndef NO_MORE_REGFREEE

Review Comment:
   Is this `#ifndef` required? It should work in either case if I understand correctly.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@nifi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org