From: Matthias Maennich <maennich@google.com>
To: Giuliano Procida <gprocida@google.com>
Cc: libabigail@sourceware.org, dodji@seketeli.org, kernel-team@android.com
Subject: Re: [PATCH v3 16/21] abg-tools-utils.cc: Assert generated regexes OK.
Date: Mon, 27 Apr 2020 14:08:48 +0200 [thread overview]
Message-ID: <20200427120848.GN159704@google.com> (raw)
In-Reply-To: <20200424092132.150547-17-gprocida@google.com>
On Fri, Apr 24, 2020 at 10:21:27AM +0100, Giuliano Procida wrote:
>There are a couple of places where regexes are generated interally.
^^^ typo
>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>
Reviewed-by: Matthias Maennich <maennich@google.com>
Cheers,
Matthias
>---
> src/abg-tools-utils.cc | 2 ++
> 1 file changed, 2 insertions(+)
>
>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
>--
>2.26.2.303.gf8c07b1a785-goog
>
next prev parent reply other threads:[~2020-04-27 12:08 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-23 15:44 [PATCH 00/21] Simplify regex and suppression parsing Giuliano Procida
2020-04-23 15:44 ` [PATCH 01/21] Move regex definitions to own files Giuliano Procida
2020-04-23 15:44 ` [PATCH 02/21] Move libxml bits out of abg-sptr-utils.h Giuliano Procida
2020-04-23 15:44 ` [PATCH 03/21] Simplify generation of symbol whitelist regex Giuliano Procida
2020-04-23 15:44 ` [PATCH 04/21] Escape names used in symbol whitelisting regex Giuliano Procida
2020-04-23 15:44 ` [PATCH 05/21] abg-suppression.cc: More uniform variable naming Giuliano Procida
2020-04-23 15:44 ` [PATCH 06/21] diff suppression: Fix handling of change kinds Giuliano Procida
2020-04-23 15:44 ` [PATCH 07/21] Add POSIX regex wrapper functions Giuliano Procida
2020-04-23 18:07 ` [PATCH v2 " Giuliano Procida
2020-04-23 15:44 ` [PATCH 08/21] Use regex::compile wrapper instead of regcomp Giuliano Procida
2020-04-23 15:44 ` [PATCH 09/21] Use regex::match wrapper instead of regexec Giuliano Procida
2020-04-23 18:02 ` [PATCH v2 " Giuliano Procida
2020-04-23 15:44 ` [PATCH 10/21] Refactor read_parameter_spec_from_string logic Giuliano Procida
2020-04-23 15:44 ` [PATCH 11/21] Compile suppression regexes earlier Giuliano Procida
2020-04-23 15:44 ` [PATCH 12/21] Reduce direct access to suppression priv_ members Giuliano Procida
2020-04-23 15:44 ` [PATCH 13/21] Move match methods from priv to suppression_base Giuliano Procida
2020-04-23 15:44 ` [PATCH 14/21] Remove suppression types' priv class methods Giuliano Procida
2020-04-23 15:44 ` [PATCH 15/21] abg-suppression.cc: More consistent regex matching Giuliano Procida
2020-04-23 15:44 ` [PATCH 16/21] abg-tools-utils.cc: Assert generated regexes OK Giuliano Procida
2020-04-23 15:44 ` [PATCH 17/21] Refactor suppression property string parsing Giuliano Procida
2020-04-23 15:44 ` [PATCH 18/21] Refactor suppression property regex parsing Giuliano Procida
2020-04-23 15:44 ` [PATCH 19/21] Warn if user-supplied regexes fail to compile Giuliano Procida
2020-04-23 18:04 ` [PATCH v2 " Giuliano Procida
2020-04-23 15:44 ` [PATCH 20/21] Default construct suppression types Giuliano Procida
2020-04-23 15:44 ` [PATCH 21/21] Remove unused suppression type priv constructors Giuliano Procida
2020-04-23 18:11 ` [PATCH 00/21] Simplify regex and suppression parsing Giuliano Procida
2020-04-24 8:54 ` Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 00/21]Simplify " Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 01/21] Move regex definitions to own files Giuliano Procida
2020-04-27 10:52 ` Matthias Maennich
2020-04-29 14:19 ` Dodji Seketeli
2020-04-29 14:35 ` Giuliano Procida
2020-05-04 9:19 ` Dodji Seketeli
2020-04-24 9:21 ` [PATCH v3 02/21] Move libxml bits out of abg-sptr-utils.h Giuliano Procida
2020-04-27 10:53 ` Matthias Maennich
2020-04-29 14:30 ` Dodji Seketeli
2020-05-04 9:20 ` Dodji Seketeli
2020-04-24 9:21 ` [PATCH v3 03/21] Simplify generation of symbol whitelist regex Giuliano Procida
2020-04-27 11:01 ` Matthias Maennich
2020-04-27 15:31 ` Giuliano Procida
2020-05-04 9:20 ` Dodji Seketeli
2020-04-24 9:21 ` [PATCH v3 04/21] Escape names used in symbol whitelisting regex Giuliano Procida
2020-04-27 11:14 ` Matthias Maennich
2020-04-27 15:37 ` Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 05/21] abg-suppression.cc: More uniform variable naming Giuliano Procida
2020-04-27 11:17 ` Matthias Maennich
2020-04-24 9:21 ` [PATCH v3 06/21] diff suppression: Fix handling of change kinds Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 07/21] Add POSIX regex wrapper functions Giuliano Procida
2020-04-27 11:23 ` Matthias Maennich
2020-04-24 9:21 ` [PATCH v3 08/21] Use regex::compile wrapper instead of regcomp Giuliano Procida
2020-04-27 11:34 ` Matthias Maennich
2020-04-27 16:01 ` Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 09/21] Use regex::match wrapper instead of regexec Giuliano Procida
2020-04-27 11:38 ` Matthias Maennich
2020-04-24 9:21 ` [PATCH v3 10/21] Refactor read_parameter_spec_from_string logic Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 11/21] Compile suppression regexes earlier Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 12/21] Reduce direct access to suppression priv_ members Giuliano Procida
2020-04-27 11:54 ` Matthias Maennich
2020-04-24 9:21 ` [PATCH v3 13/21] Move match methods from priv to suppression_base Giuliano Procida
2020-04-27 11:55 ` Matthias Maennich
2020-04-24 9:21 ` [PATCH v3 14/21] Remove suppression types' priv class methods Giuliano Procida
2020-04-27 11:57 ` Matthias Maennich
2020-04-24 9:21 ` [PATCH v3 15/21] abg-suppression.cc: More consistent regex matching Giuliano Procida
2020-04-27 12:07 ` Matthias Maennich
2020-04-27 16:18 ` Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 16/21] abg-tools-utils.cc: Assert generated regexes OK Giuliano Procida
2020-04-27 12:08 ` Matthias Maennich [this message]
2020-04-27 16:21 ` Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 17/21] Refactor suppression property string parsing Giuliano Procida
2020-04-27 12:17 ` Matthias Maennich
2020-04-27 16:42 ` Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 18/21] Refactor suppression property regex parsing Giuliano Procida
2020-04-27 14:55 ` Matthias Maennich
2020-04-27 16:59 ` Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 19/21] Warn if user-supplied regexes fail to compile Giuliano Procida
2020-04-27 15:36 ` Matthias Maennich
2020-05-01 8:49 ` Giuliano Procida
2020-04-24 9:21 ` [PATCH v3 20/21] Default construct suppression types Giuliano Procida
2020-04-27 15:40 ` Matthias Maennich
2020-04-24 9:21 ` [PATCH v3 21/21] Remove unused suppression type priv constructors Giuliano Procida
2020-04-27 15:41 ` Matthias Maennich
2020-05-04 12:34 ` [PATCH v4 00/15] Simplify regex and suppression parsing Giuliano Procida
2020-05-04 12:34 ` [PATCH v4 01/15] Tidy #includes in a few files Giuliano Procida
2020-05-04 12:49 ` Matthias Maennich
2020-05-11 13:24 ` Dodji Seketeli
2020-05-04 12:34 ` [PATCH v4 02/15] Document ^_^ regex in generate_from_strings Giuliano Procida
2020-05-04 12:49 ` Matthias Maennich
2020-05-11 13:32 ` Dodji Seketeli
2020-05-04 12:34 ` [PATCH v4 03/15] Escape names used in symbol whitelisting regex Giuliano Procida
2020-05-04 12:57 ` Matthias Maennich
2020-05-04 16:45 ` [PATCH v5 " Giuliano Procida
2020-05-11 13:59 ` Dodji Seketeli
2020-05-04 12:34 ` [PATCH v4 04/15] abg-suppression.cc: More uniform variable naming Giuliano Procida
2020-05-11 14:04 ` Dodji Seketeli
2020-05-04 12:34 ` [PATCH v4 05/15] diff suppression: Fix handling of change kinds Giuliano Procida
2020-05-04 13:04 ` Matthias Maennich
2020-05-11 14:15 ` Dodji Seketeli
2020-05-11 15:47 ` Giuliano Procida
2020-05-11 17:53 ` Dodji Seketeli
2020-05-12 9:54 ` Giuliano Procida
2020-05-12 10:14 ` [PATCH v5 05/15] Tidy checks for sufficient suppression properties Giuliano Procida
2020-05-12 16:11 ` Dodji Seketeli
2020-05-04 12:34 ` [PATCH v4 06/15] Add POSIX regex wrapper functions Giuliano Procida
2020-05-11 16:37 ` Dodji Seketeli
2020-05-04 12:34 ` [PATCH v4 07/15] Use regex::compile wrapper instead of regcomp Giuliano Procida
2020-05-11 16:38 ` Dodji Seketeli
2020-05-04 12:34 ` [PATCH v4 08/15] Use regex::match wrapper instead of regexec Giuliano Procida
2020-05-12 16:35 ` Dodji Seketeli
2020-05-04 12:34 ` [PATCH v4 09/15] Refactor read_parameter_spec_from_string logic Giuliano Procida
2020-05-13 7:51 ` Dodji Seketeli
2020-05-04 12:34 ` [PATCH v4 10/15] Compile suppression regexes earlier Giuliano Procida
2020-05-04 13:14 ` Matthias Maennich
2020-05-13 8:07 ` Dodji Seketeli
2020-05-13 15:36 ` Giuliano Procida
2020-05-04 12:34 ` [PATCH v4 11/15] Reduce direct access to suppression priv_ members Giuliano Procida
2020-05-04 12:34 ` [PATCH v4 12/15] Move match methods from priv to suppression_base Giuliano Procida
2020-05-04 12:34 ` [PATCH v4 13/15] Remove suppression type priv class methods Giuliano Procida
2020-05-04 12:34 ` [PATCH v4 14/15] abg-suppression.cc: More consistent regex matching Giuliano Procida
2020-05-04 13:17 ` Matthias Maennich
2020-05-04 12:34 ` [PATCH v4 15/15] abg-tools-utils.cc: Assert generated regexes OK Giuliano Procida
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200427120848.GN159704@google.com \
--to=maennich@google.com \
--cc=dodji@seketeli.org \
--cc=gprocida@google.com \
--cc=kernel-team@android.com \
--cc=libabigail@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).