From f9ef25050e66f08cbeaa835fe982675e350754a3 Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Tue, 1 Dec 2020 19:11:47 +0100 Subject: pseudo: Simplify pseudo_client_ignore_path_chroot() This also plugs a memory leak in pseudo_client_ignore_path_chroot(). (From OE-Core rev: 8308919189e6f8ae68e19e0d3578de514635427b) Signed-off-by: Peter Kjellerstedt Signed-off-by: Richard Purdie (cherry picked from commit d8dddd5054a1c4e20a3e32fa9ab31f5859d6fbb6) Signed-off-by: Steve Sakoman Signed-off-by: Richard Purdie --- ...nt-Simplify-pseudo_client_ignore_path_chr.patch | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 meta/recipes-devtools/pseudo/files/0003-pseudo_client-Simplify-pseudo_client_ignore_path_chr.patch (limited to 'meta/recipes-devtools/pseudo/files/0003-pseudo_client-Simplify-pseudo_client_ignore_path_chr.patch') diff --git a/meta/recipes-devtools/pseudo/files/0003-pseudo_client-Simplify-pseudo_client_ignore_path_chr.patch b/meta/recipes-devtools/pseudo/files/0003-pseudo_client-Simplify-pseudo_client_ignore_path_chr.patch new file mode 100644 index 0000000000..a657a27f28 --- /dev/null +++ b/meta/recipes-devtools/pseudo/files/0003-pseudo_client-Simplify-pseudo_client_ignore_path_chr.patch @@ -0,0 +1,50 @@ +From a1d61d68777373a50ae23b9dd83b428abe2f748d Mon Sep 17 00:00:00 2001 +From: Peter Kjellerstedt +Date: Sat, 21 Nov 2020 17:30:33 +0100 +Subject: [PATCH] pseudo_client: Simplify pseudo_client_ignore_path_chroot() + +This also plugs a memory leak by making sure env is freed. + +Change-Id: Ia8635fd2c6b1e85919e4743713a85e0b52c28fac +--- + pseudo_client.c | 21 ++++++++++----------- + 1 file changed, 10 insertions(+), 11 deletions(-) + +diff --git a/pseudo_client.c b/pseudo_client.c +index a8bc3dc..7dc0345 100644 +--- a/pseudo_client.c ++++ b/pseudo_client.c +@@ -1538,23 +1538,22 @@ int pseudo_client_ignore_path_chroot(const char *path, int ignore_chroot) { + if (!env) + return 0; + ++ int ret = 0; + char *p = env; +- while (*p) { ++ while (p) { + char *next = strchr(p, ','); +- if (!next) +- next = strchr(p, '\0'); +- if ((next - p) && !strncmp(path, p, next - p)) { +- pseudo_debug(PDBGF_PATH | PDBGF_VERBOSE, "ignoring path: '%s'\n", path); +- return 1; +- } +- if (next && *next != '\0') +- p = next+1; +- else ++ if (next) ++ *next++ = '\0'; ++ if (*p && !strncmp(path, p, strlen(p))) { ++ pseudo_debug(PDBGF_PATH | PDBGF_VERBOSE, "ignoring path: '%s'\n", path); ++ ret = 1; + break; ++ } ++ p = next; + } + free(env); + +- return 0; ++ return ret; + } + + int pseudo_client_ignore_path(const char *path) { -- cgit v1.2.3-54-g00ecf