From d8b6dab492b9dea090c2844029cd65f7f80802f1 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 23 Dec 2019 19:39:16 -0800 Subject: [PATCH] ltrace: Fix build with gcc10 Signed-off-by: Khem Raj --- ...-struct-pointers-are-null-initilized.patch | 46 +++++++++++++++++++ ...hook-Do-not-append-int-to-std-string.patch | 2 +- meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch new file mode 100644 index 00000000000..9def41ca60c --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch @@ -0,0 +1,46 @@ +From 67a8fa478a4484bc4dbfb3ac74e11be1dd5af594 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 23 Dec 2019 19:35:48 -0800 +Subject: [PATCH] ensure the struct pointers are null initilized + +Do not delete if pointer is already null + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + expr.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/expr.c b/expr.c +index 4059a32..5ffd0ad 100644 +--- a/expr.c ++++ b/expr.c +@@ -189,10 +189,8 @@ int + expr_clone(struct expr_node *retp, const struct expr_node *node) + { + *retp = *node; +- ++ struct expr_node *nlhs = 0, *nrhs = 0; + switch (node->kind) { +- struct expr_node *nlhs; +- struct expr_node *nrhs; + + case EXPR_OP_ARGNO: + case EXPR_OP_SELF: +@@ -236,8 +234,10 @@ expr_clone(struct expr_node *retp, const struct expr_node *node) + if (expr_alloc_and_clone(&nlhs, node->lhs, node->own_lhs) < 0) { + if (node->kind == EXPR_OP_CALL2 + && node->u.call.own_rhs) { +- expr_destroy(nrhs); +- free(nrhs); ++ if (nrhs) { ++ expr_destroy(nrhs); ++ free(nrhs); ++ } + return -1; + } + } +-- +2.24.1 + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch index 8f1c4b9b9b4..2890373821f 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj if (sysconfdir != NULL && *sysconfdir != '\0') { /* No +1, we skip the initial period. */ - syspath = malloc(strlen(sysconfdir) + sizeof FN); -+ syspath = malloc(strlen(sysconfdir) + sizeof FN + 1); ++ syspath = malloc(strlen(sysconfdir) + sizeof FN + 2); + syspath[strlen(sysconfdir) + sizeof FN + 1] = '\0'; if (syspath == NULL - || sprintf(syspath, "%s/%s", sysconfdir, FN + 1) < 0) diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index bb21cbca8a6..6b66c25297c 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -28,6 +28,7 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http file://0001-hook-Do-not-append-int-to-std-string.patch \ file://include_unistd_nr.patch \ file://0001-Bug-fix-for-data-type-length-judgment.patch \ + file://0001-ensure-the-struct-pointers-are-null-initilized.patch \ " S = "${WORKDIR}/git"