Bug #8575
regcomp(3C): handle invalid {} constructs consistently
Start date:
2017-08-11
Due date:
% Done:
100%
Estimated time:
Difficulty:
Bite-size
Tags:
Gerrit CR:
Description
upstream (FreeBSD) fix:
commit 39d016e70fde91c131d5276cce9b4bbd4ee71259 Author: kevans <kevans@FreeBSD.org> Date: Tue Aug 8 04:10:46 2017 +0000 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
Updated by Electric Monk over 3 years ago
- Status changed from In Progress to Closed
- % Done changed from 50 to 100
git commit 02e2c3ed584d6e282e2f2f9ed1659ef2ba09b924
commit 02e2c3ed584d6e282e2f2f9ed1659ef2ba09b924 Author: Yuri Pankov <yuri.pankov@nexenta.com> Date: 2017-08-14T15:10:13.000Z 8575 regcomp(3C): handle invalid {} constructs consistently Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Dan McDonald <danmcd@joyent.com>