summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/include
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2017-05-09 16:27:20 +0000
committerbrooks <brooks@FreeBSD.org>2017-05-09 16:27:20 +0000
commitd1c5218b098101b458b1362327aa5dc754eefcf2 (patch)
tree0d3ddfdf773828f0d0bff94a0e0de3b5672c7aae /contrib/libc++/include
parentb5b8ec81d73f98f3cce4fde5c68798bf1cae65aa (diff)
downloadFreeBSD-src-d1c5218b098101b458b1362327aa5dc754eefcf2.zip
FreeBSD-src-d1c5218b098101b458b1362327aa5dc754eefcf2.tar.gz
MFC r317707:
Correct an out-of-bounds read in regcomp when the RE is bad. When passed the invalid regular expression "a**", the error is eventually detected and seterr() is called. It sets p->error appropriatly and p->next and p->end to nuls which is a never used char nuls[10] which is zeros due to .bss initialization. Unfortunatly, p_ere_exp() and p_simp_re() both have fall through cases where they set the error, decrement p->next and access it which means a read from whatever .bss variable comes before nuls. Found with regex_test:repet_multi and CHERI bounds checking. Reviewed by: ngie, pfg, emaste Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10541
Diffstat (limited to 'contrib/libc++/include')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud