aboutsummaryrefslogtreecommitdiffstats
path: root/main/aspell/CVE-2019-17544.patch
blob: 5bdb43915145cad17749cf01c158f5491417b41a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
diff --git a/common/config.cpp b/common/config.cpp
index b1e919b..51486a7 100644
--- a/common/config.cpp
+++ b/common/config.cpp
@@ -763,7 +763,7 @@ namespace acommon {
       }
       res.append(':');
     }
-    if (res.back() == ':') res.pop_back();
+    if (!res.empty() && res.back() == ':') res.pop_back();
   }
 
   struct ListAddHelper : public AddableContainer 
diff --git a/common/file_util.cpp b/common/file_util.cpp
index 8515832..56ea501 100644
--- a/common/file_util.cpp
+++ b/common/file_util.cpp
@@ -181,6 +181,7 @@ namespace acommon {
     while ( (dir = els.next()) != 0 ) 
     {
       path = dir;
+      if (path.empty()) continue;
       if (path.back() != '/') path += '/';
       unsigned dir_len = path.size();
       path += filename;
diff --git a/common/getdata.cpp b/common/getdata.cpp
index 7e822c9..1b04823 100644
--- a/common/getdata.cpp
+++ b/common/getdata.cpp
@@ -64,7 +64,7 @@ namespace acommon {
   char * unescape(char * dest, const char * src)
   {
     while (*src) {
-      if (*src == '\\') {
+      if (*src == '\\' && src[1]) {
 	++src;
 	switch (*src) {
 	case 'n': *dest = '\n'; break;