Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>epel9
parent
3e3423d8ac
commit
2f6003297a
@ -0,0 +1,38 @@
|
|||||||
|
From 9d4e460b298a39ee2be2443af97413e7063fa8d2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Homborg <FHomborg@gmail.com>
|
||||||
|
Date: Fri, 4 Jan 2019 08:45:53 +0100
|
||||||
|
Subject: [PATCH] string: Fix crash with _GLIBCXX_ASSERTIONS
|
||||||
|
|
||||||
|
This asserted because we accessed wcstring::front() when it was empty.
|
||||||
|
|
||||||
|
Instead, check explicitly for it being empty before.
|
||||||
|
|
||||||
|
Fixes #5479
|
||||||
|
---
|
||||||
|
src/builtin_string.cpp | 10 +++++++---
|
||||||
|
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/builtin_string.cpp b/src/builtin_string.cpp
|
||||||
|
index 6e810a32..bbc7e40c 100644
|
||||||
|
--- a/src/builtin_string.cpp
|
||||||
|
+++ b/src/builtin_string.cpp
|
||||||
|
@@ -622,9 +622,13 @@ class wildcard_matcher_t : public string_matcher_t {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (opts.entire) {
|
||||||
|
- // If the pattern is empty, this becomes one ANY_STRING that matches everything.
|
||||||
|
- if (wcpattern.front() != ANY_STRING) wcpattern.insert(0, 1, ANY_STRING);
|
||||||
|
- if (wcpattern.back() != ANY_STRING) wcpattern.push_back(ANY_STRING);
|
||||||
|
+ if (!wcpattern.empty()) {
|
||||||
|
+ if (wcpattern.front() != ANY_STRING) wcpattern.insert(0, 1, ANY_STRING);
|
||||||
|
+ if (wcpattern.back() != ANY_STRING) wcpattern.push_back(ANY_STRING);
|
||||||
|
+ } else {
|
||||||
|
+ // If the pattern is empty, this becomes one ANY_STRING that matches everything.
|
||||||
|
+ wcpattern.push_back(ANY_STRING);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
Loading…
Reference in new issue