protocol: BER2DER does not handle empty indefinite length objects
- Vorherrschende Sprache
- Go
- Sterne
- 658
- Forks
- 154
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
For indefinite length objects, we check for the terminator here: https://github.com/github/smimesign/blob/3564e86011859c28b315328027abebb954b6bf6f/ietf-cms/protocol/ber.go#L217
However, this does not consider that a SEQUENCE or SET can be potentially empty with indefinite length.
Instead, I think the proper thing is to first check for the termination sequence and only then read the object.
I.e., move the if condition above this line: https://github.com/github/smimesign/blob/3564e86011859c28b315328027abebb954b6bf6f/ietf-cms/protocol/ber.go#L209
Beitragsleitfaden
Rechercherichtung
Beginne in ietf-cms/protocol/ber.go ungefähr bei den Zeilen 209 und 217, wo BER2DER Objekte mit unbestimmter Länge liest und den Terminator prüft. Bestätige, dass leere Objekte vom Typ SEQUENCE und SET behandelt werden, indem die Beendigungssequenz vor dem Lesen des Objekts geprüft wird; abgeschlossen ist die Aufgabe, wenn diese Eingaben nicht mehr fehlschlagen, während die bestehende Behandlung nicht leerer Objekte unverändert bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- go
- Bereich
- cryptography
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 48/100