diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-12-18 20:30:12 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2024-04-19 21:12:03 +0000 |
| commit | c9157d925c489f07ba9c0b2ce47e5149b75969a5 (patch) | |
| tree | 08bc4a3d9cad3f9ebffa558ddf140b9d9257b219 /contrib/llvm-project/llvm/lib/ObjCopy/CommonConfig.cpp | |
| parent | 2a66844f606a35d68ad8a8061f4bea204274b3bc (diff) | |
Diffstat (limited to 'contrib/llvm-project/llvm/lib/ObjCopy/CommonConfig.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/ObjCopy/CommonConfig.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/ObjCopy/CommonConfig.cpp b/contrib/llvm-project/llvm/lib/ObjCopy/CommonConfig.cpp index e85715d0c44c..f44e70d996b2 100644 --- a/contrib/llvm-project/llvm/lib/ObjCopy/CommonConfig.cpp +++ b/contrib/llvm-project/llvm/lib/ObjCopy/CommonConfig.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "llvm/ObjCopy/CommonConfig.h" +#include "llvm/Support/Errc.h" namespace llvm { namespace objcopy { @@ -38,6 +39,12 @@ NameOrPattern::create(StringRef Pattern, MatchStyle MS, IsPositiveMatch); } case MatchStyle::Regex: { + Regex RegEx(Pattern); + std::string Err; + if (!RegEx.isValid(Err)) + return createStringError(errc::invalid_argument, + "cannot compile regular expression \'" + + Pattern + "\': " + Err); SmallVector<char, 32> Data; return NameOrPattern(std::make_shared<Regex>( ("^" + Pattern.ltrim('^').rtrim('$') + "$").toStringRef(Data))); |
