summaryrefslogtreecommitdiffstats
path: root/devel/ltrace/patches/0001-expr_node_zero-and-expr_self-should-be-stack-allocat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'devel/ltrace/patches/0001-expr_node_zero-and-expr_self-should-be-stack-allocat.patch')
-rw-r--r--devel/ltrace/patches/0001-expr_node_zero-and-expr_self-should-be-stack-allocat.patch76
1 files changed, 76 insertions, 0 deletions
diff --git a/devel/ltrace/patches/0001-expr_node_zero-and-expr_self-should-be-stack-allocat.patch b/devel/ltrace/patches/0001-expr_node_zero-and-expr_self-should-be-stack-allocat.patch
new file mode 100644
index 0000000000..4b5bfa0b78
--- /dev/null
+++ b/devel/ltrace/patches/0001-expr_node_zero-and-expr_self-should-be-stack-allocat.patch
@@ -0,0 +1,76 @@
+From 1233b37167097dffa9a78bd7bd0a8117c75fe8ff Mon Sep 17 00:00:00 2001
+From: Petr Machata <pmachata@redhat.com>
+Date: Sat, 8 Dec 2012 03:13:29 +0100
+Subject: [PATCH] expr_node_zero and expr_self should be stack-allocated
+
+Signed-off-by: Ismael Luceno <ismael@iodev.co.uk>
+---
+ expr.c | 14 ++++++--------
+ zero.c | 14 ++++++--------
+ 2 files changed, 12 insertions(+), 16 deletions(-)
+
+diff --git a/expr.c b/expr.c
+index 32860fd2e2e9..552a53ce63e7 100644
+--- a/expr.c
++++ b/expr.c
+@@ -21,7 +21,6 @@
+ #include <string.h>
+ #include <assert.h>
+ #include <errno.h>
+-#include <error.h>
+ #include <stdlib.h>
+
+ #include "expr.h"
+@@ -327,12 +326,11 @@ expr_eval_constant(struct expr_node *node, long *valuep)
+ struct expr_node *
+ expr_self(void)
+ {
+- static struct expr_node *node = NULL;
+- if (node == NULL) {
+- node = malloc(sizeof(*node));
+- if (node == NULL)
+- error(1, errno, "malloc expr_self");
+- expr_init_self(node);
++ static struct expr_node *nodep = NULL;
++ if (nodep == NULL) {
++ static struct expr_node node;
++ expr_init_self(&node);
++ nodep = &node;
+ }
+- return node;
++ return nodep;
+ }
+diff --git a/zero.c b/zero.c
+index bc119ee7128c..5757943e389a 100644
+--- a/zero.c
++++ b/zero.c
+@@ -18,7 +18,6 @@
+ * 02110-1301 USA
+ */
+
+-#include <error.h>
+ #include <errno.h>
+
+ #include "zero.h"
+@@ -93,13 +92,12 @@ build_zero_w_arg(struct expr_node *expr, int own)
+ struct expr_node *
+ expr_node_zero(void)
+ {
+- static struct expr_node *node = NULL;
+- if (node == NULL) {
+- node = malloc(sizeof(*node));
+- if (node == NULL)
+- error(1, errno, "malloc expr_node_zero");
+- expr_init_cb1(node, &zero1_callback,
++ static struct expr_node *nodep = NULL;
++ if (nodep == NULL) {
++ static struct expr_node node;
++ expr_init_cb1(&node, &zero1_callback,
+ expr_self(), 0, (void *)-1);
++ nodep = &node;
+ }
+- return node;
++ return nodep;
+ }
+--
+2.23.0