[16/21] abg-tools-utils.cc: Assert generated regexes OK.

Message ID 20200423154441.170531-17-gprocida@google.com
State Superseded
Headers
Series Simplify regex and suppression parsing. |

Commit Message

Giuliano Procida April 23, 2020, 3:44 p.m. UTC
  There are a couple of places where regexes are generated interally.
Assert they compile OK.

This is just paranoia. There should be no behavioural changes.

	* src/abg-tools-utils.cc (handle_file_entry): Assert
	internally-generated regex compiles.
	(gen_suppr_spec_from_kernel_abi_whitelists): Assert
	internally-generated regex compiles.

Signed-off-by: Giuliano Procida <gprocida@google.com>
---
 src/abg-tools-utils.cc | 2 ++
 1 file changed, 2 insertions(+)
  

Patch

diff --git a/src/abg-tools-utils.cc b/src/abg-tools-utils.cc
index fe0de750..3af9fc49 100644
--- a/src/abg-tools-utils.cc
+++ b/src/abg-tools-utils.cc
@@ -1818,6 +1818,7 @@  handle_file_entry(const string& file_path,
       // Types that are defined in system headers are usually
       // OK to be considered as public types.
       regex::regex_t_sptr headers_regex = regex::compile("^/usr/include/");
+      ABG_ASSERT(headers_regex);
       suppr->set_source_location_to_keep_regex(headers_regex);
       suppr->set_is_artificial(true);
     }
@@ -2008,6 +2009,7 @@  gen_suppr_spec_from_kernel_abi_whitelists
       // the function and variable names expressed in the white list.
       regex::regex_t_sptr regex =
 	regex::compile(regex::generate_from_strings(whitelisted_names));
+      ABG_ASSERT(regex);
 
       // Build a suppression specification which *keeps* functions
       // whose ELF symbols match the regular expression contained