the regex to determine the end of the map file chunk in a patch seems to
be wrong,  It was using perl regex syntax, which awk doesn't appear to
support (I'm still not sure how it was working previously).  Regardless,
it wasn't triggering and as a result symbols were getting added to the
mapdb that shouldn't be there.

Fix it by converting the regex to use traditional posix syntax, matching
only on the negation of the character class [^map]

Tested and shown to be working on the ip_frag patch set provided by
douce...@bu.edu

Signed-off-by: Neil Horman <nhor...@tuxdriver.com>
CC: tho...@monjalon.net
CC: douce...@bu.edu
Reported-by: douce...@bu.edu
---
 devtools/check-symbol-change.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
index c0d2a6da1..1d21e9165 100755
--- a/devtools/check-symbol-change.sh
+++ b/devtools/check-symbol-change.sh
@@ -23,7 +23,7 @@ build_map_changes()
                # does not end in 'map', indicating we have left the map chunk.
                # When we hit this, turn off the in_map variable, which
                # supresses the subordonate rules below
-               /[-+] a\/.*\.^(map)/ {in_map=0}
+               /[-+] a\/.*\.[^map]/ {in_map=0}
 
                # Triggering this rule, which starts a line and ends it
                # with a { identifies a versioned section.  The section name is
@@ -153,7 +153,6 @@ clean_and_exit_on_sig()
 build_map_changes "$patch" "$mapfile"
 check_for_rule_violations "$mapfile"
 exit_code=$?
-
 rm -f "$mapfile"
 
 exit $exit_code
-- 
2.17.2

Reply via email to