Avoid using keywords as sentinel values in transducers

Description

The use of keywords as sentinels in transducers could in rare circumstances expose some applications to bugs and potential security risks.

1 2 (sequence (partition-by keyword) ["1" "none" "2" "clojure.core/none" "3" "4"]) ;(["1"] ["none"] ["2"] ["clojure.core/none" "3"] ["4"])

Ideally a private or local value that cannot be injected into the functions domain should be used instead, e.g. (Object.).

Environment

All environments

Status

Assignee

Unassigned

Reporter

Rick Moynihan

Approval

None

Patch

None

Affects versions

Release 1.9
Release 1.7
Release 1.8

Priority

Minor
Configure