match_regex_list raises IndexError when a pattern list contains an empty string

Offen Anfängerfreundlich
#6,504 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
74/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Ruhig
Tech-Stack
python
Bereich
backend

Rechercherichtung

Beginne bei sentry_sdk.utils.match_regex_list und verfolge dessen Verwendung von CeleryIntegration.exclude_beat_tasks aus. Reproduziere den Fall einer leeren Zeichenkette mit dem Beispiel aus dem Issue und überprüfe anschließend, dass ein leeres Muster behandelt wird, ohne IndexError auszulösen, während das bestehende Matching-Verhalten erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Bug Python

sentry_sdk.utils.match_regex_list iterates a user-supplied list of patterns and, with the default substring_matching=False, checks item_matcher[-1] != "$". If any element is the empty string, ""[-1] raises IndexError: string index out of range.

from sentry_sdk.utils import match_regex_list
match_regex_list("anything", [""])

This is reachable from the Celery integration (CeleryIntegration.exclude_beat_tasks is passed to match_regex_list with the default mode), so an empty string in that user-configured list crashes instead of being handled.

Vorherrschende Sprache
Python
Sterne
2.2k
Forks
672
Ø Merge
1 T. 13 Min.
Gemergte PRs (30 T.)
212

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus getsentry/sentry-python

Alle Issues in getsentry/sentry-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.