Skip to content

Commit 7ece3cb

Browse files
committed
Fixed shortener key matching above final '*' level.
1 parent 96bb8eb commit 7ece3cb

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

rollbar/lib/__init__.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,16 @@ def key_depth(key, canonicals) -> int:
5656

5757

5858
def key_match(key, canonical):
59-
i = 0
59+
if len(key) < len(canonical):
60+
return False
61+
6062
for k, c in zip(key, canonical):
61-
i += 1
6263
if '*' == c:
6364
continue
6465
if c == k:
6566
continue
6667
return False
6768

68-
if i < len(canonical) - 1:
69-
return False
70-
7169
return True
7270

7371

rollbar/test/test_lib.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ def test_key_match_wildcard_end(self):
3030

3131
self.assertTrue(key_match(key, canonical))
3232

33+
def test_key_match_too_short(self):
34+
canonical = ['body', 'trace', 'frames', '*', 'locals', '*']
35+
key = ['body', 'trace', 'frames', 5, 'locals']
36+
37+
self.assertFalse(key_match(key, canonical))
38+
3339
def test_key_depth(self):
3440
canonicals = [['body', 'trace', 'frames', '*', 'locals', '*']]
3541
key = ['body', 'trace', 'frames', 5, 'locals', 'foo']

0 commit comments

Comments
 (0)