summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2020-12-14 12:03:05 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2020-12-14 12:03:05 +0000
commit00fdcc21c095cd54297f58885e5460be9ca6db70 (patch)
tree7baebdbb00bab976499a5456fb26773dd2aabc8e /dev-libs
parentmysql-8.0.21-icu-68.1.patch (diff)
downloadpatches-00fdcc21c095cd54297f58885e5460be9ca6db70.tar.bz2
patches-00fdcc21c095cd54297f58885e5460be9ca6db70.tar.xz
patches-00fdcc21c095cd54297f58885e5460be9ca6db70.zip
Add patches fixing memory leaks in Slice parser and underlying libmcpp
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/slice-parser/0001-Fix-destory-calls-in-Slice-Parser.patch51
-rw-r--r--dev-libs/slice-parser/0002-Fix-line-numbers-in-generated-code.patch85
2 files changed, 136 insertions, 0 deletions
diff --git a/dev-libs/slice-parser/0001-Fix-destory-calls-in-Slice-Parser.patch b/dev-libs/slice-parser/0001-Fix-destory-calls-in-Slice-Parser.patch
new file mode 100644
index 0000000..22361c1
--- /dev/null
+++ b/dev-libs/slice-parser/0001-Fix-destory-calls-in-Slice-Parser.patch
@@ -0,0 +1,51 @@
+From 022ff18892aea61af53633ba9c533b3399434d05 Mon Sep 17 00:00:00 2001
+From: Dan Goodliffe <dan@randomdan.homeip.net>
+Date: Mon, 14 Dec 2020 01:49:47 +0000
+Subject: [PATCH 1/2] Fix destory calls in Slice Parser
+
+---
+ cpp/src/Slice/Parser.cpp | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/ice/cpp/src/Slice/Parser.cpp b/ice/cpp/src/Slice/Parser.cpp
+index 8843aeddb0..312b0f3085 100644
+--- a/ice/cpp/src/Slice/Parser.cpp
++++ b/ice/cpp/src/Slice/Parser.cpp
+@@ -3505,7 +3505,7 @@ void
+ Slice::ClassDecl::destroy()
+ {
+ _definition = 0;
+- SyntaxTreeBase::destroy();
++ Constructed::destroy();
+ }
+
+ ClassDefPtr
+@@ -3781,6 +3781,7 @@ Slice::ClassDef::destroy()
+ {
+ _declaration = 0;
+ _bases.clear();
++ Contained::destroy();
+ Container::destroy();
+ }
+
+@@ -4453,6 +4454,7 @@ void
+ Slice::Exception::destroy()
+ {
+ _base = 0;
++ Contained::destroy();
+ Container::destroy();
+ }
+
+@@ -5322,7 +5324,8 @@ Slice::Dictionary::Dictionary(const ContainerPtr& container, const string& name,
+ void
+ Slice::Enum::destroy()
+ {
+- SyntaxTreeBase::destroy();
++ Constructed::destroy();
++ Container::destroy();
+ }
+
+ bool
+--
+2.29.2
+
diff --git a/dev-libs/slice-parser/0002-Fix-line-numbers-in-generated-code.patch b/dev-libs/slice-parser/0002-Fix-line-numbers-in-generated-code.patch
new file mode 100644
index 0000000..fde791b
--- /dev/null
+++ b/dev-libs/slice-parser/0002-Fix-line-numbers-in-generated-code.patch
@@ -0,0 +1,85 @@
+From 2f673c4f9f2808a40dc0c29097ea60e3d3117a50 Mon Sep 17 00:00:00 2001
+From: Dan Goodliffe <dan@randomdan.homeip.net>
+Date: Mon, 14 Dec 2020 02:28:14 +0000
+Subject: [PATCH 2/2] Fix #line numbers in generated code
+
+---
+ cpp/src/Slice/Grammar.cpp | 6 +++---
+ cpp/src/Slice/Scanner.cpp | 10 +++++-----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/ice/cpp/src/Slice/Grammar.cpp b/ice/cpp/src/Slice/Grammar.cpp
+index 3cb7c833df..063e632d58 100644
+--- a/ice/cpp/src/Slice/Grammar.cpp
++++ b/ice/cpp/src/Slice/Grammar.cpp
+@@ -127,7 +127,7 @@ slice_error(const char* s)
+
+
+ /* Line 371 of yacc.c */
+-#line 128 "src/Slice/Grammar.cpp"
++#line 131 "src/Slice/Grammar.cpp"
+
+ # ifndef YY_NULL
+ # if defined __cplusplus && 201103L <= __cplusplus
+@@ -237,7 +237,7 @@ int slice_parse ();
+ /* Copy the second part of user declarations. */
+
+ /* Line 390 of yacc.c */
+-#line 238 "src/Slice/Grammar.cpp"
++#line 241 "src/Slice/Grammar.cpp"
+
+ #ifdef short
+ # undef short
+@@ -4556,7 +4556,7 @@ yyreduce:
+
+
+ /* Line 1792 of yacc.c */
+-#line 4557 "src/Slice/Grammar.cpp"
++#line 4560 "src/Slice/Grammar.cpp"
+ default: break;
+ }
+ /* User semantic actions sometimes alter yychar, and that requires
+diff --git a/ice/cpp/src/Slice/Scanner.cpp b/ice/cpp/src/Slice/Scanner.cpp
+index f9bb314f51..9f2aee79e7 100644
+--- a/ice/cpp/src/Slice/Scanner.cpp
++++ b/ice/cpp/src/Slice/Scanner.cpp
+@@ -1,7 +1,7 @@
+ #include <IceUtil/ScannerConfig.h>
+-#line 2 "src/Slice/Scanner.cpp"
++#line 3 "src/Slice/Scanner.cpp"
+
+-#line 4 "src/Slice/Scanner.cpp"
++#line 5 "src/Slice/Scanner.cpp"
+
+ #define YY_INT_ALIGNED short int
+
+@@ -626,7 +626,7 @@ int checkIdentifier(string&);
+
+
+
+-#line 626 "src/Slice/Scanner.cpp"
++#line 630 "src/Slice/Scanner.cpp"
+
+ #define INITIAL 0
+ #define BOMSCAN 1
+@@ -816,7 +816,7 @@ YY_DECL
+ #line 93 "src/Slice/Scanner.l"
+
+
+-#line 816 "src/Slice/Scanner.cpp"
++#line 820 "src/Slice/Scanner.cpp"
+
+ if ( !(yy_init) )
+ {
+@@ -1403,7 +1403,7 @@ YY_RULE_SETUP
+ #line 527 "src/Slice/Scanner.l"
+ ECHO;
+ YY_BREAK
+-#line 1403 "src/Slice/Scanner.cpp"
++#line 1407 "src/Slice/Scanner.cpp"
+ case YY_STATE_EOF(INITIAL):
+ case YY_STATE_EOF(BOMSCAN):
+ case YY_STATE_EOF(MAINSCAN):
+--
+2.29.2
+