g10: Fix regexp sanitization.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 9 Nov 2017 05:03:22 +0000 (14:03 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Mon, 4 Dec 2017 10:33:45 +0000 (19:33 +0900)
commit9441946e1824eb58249c58432ed1f554d0d8a102
tree6323b874923def94cad21fe23c378043bdd78ee5
parent2cdc37834261142504de5ea9f8aff51428b423f3
g10: Fix regexp sanitization.

* g10/trustdb.c (sanitize_regexp): Only escape operators.

--

Backport from master commit:
ccf3ba92087e79abdeaa0208795829b431c6f201

To sanitize a regular expression, quoting by backslash should be only
done for defined characters.  POSIX defines 12 characters including
dot and backslash.

Quoting other characters is wrong, in two ways; It may build an
operator like: \b, \s, \w when using GNU library.  Case ignored match
doesn't work, because quoting lower letter means literally and no
much to upper letter.

GnuPG-bug-id: 2923
Co-authored-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
g10/trustdb.c