[Bug 166861] bsdgrep(1)/sed(1): bsdgrep -E and sed handle invalid {} constructs strangely

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Aug 8 04:11:48 UTC 2017


--- Comment #4 from commit-hook at freebsd.org ---
A commit references this bug:

Author: kevans
Date: Tue Aug  8 04:10:47 UTC 2017
New revision: 322211
URL: https://svnweb.freebsd.org/changeset/base/322211

  regex(3): Handle invalid {} constructs consistently and adjust tests

  Currently, regex(3) exhibits the following wrong behavior as demonstrated
  with sed:

   - echo "a{1,2,3}b" | sed -r "s/{/_/"     (1)
   - echo "a{1,2,3}b" | sed "s/\}/_/"       (2)
   - echo "a{1,2,3}b" | sed -r "s/{}/_/"    (3)

  Cases (1) and (3) should throw errors but they actually succeed, and (2)
  throws an error when it should match the literal '}'. The correct behavior
  was decided by comparing to the behavior with the equivalent BRE (1)(3) or
  ERE (2) and consulting POSIX, along with some reasonable evaluation.

  Tests were also adjusted/added accordingly.

  PR:           166861
  Reviewed by:  emaste, ngie, pfg
  Approved by:  emaste (mentor)
  MFC after:    never
  Differential Revision:        https://reviews.freebsd.org/D10315


You are receiving this mail because:
You are the assignee for the bug.

More information about the freebsd-bugs mailing list