mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
pseudo: Simplify pseudo_client_ignore_path_chroot()
This also plugs a memory leak in pseudo_client_ignore_path_chroot(). (From OE-Core rev: d8dddd5054a1c4e20a3e32fa9ab31f5859d6fbb6) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
89c09260ed
commit
7548e8755e
@@ -0,0 +1,69 @@
|
||||
From 28c760542eecd7c5b35ea88aa2b14d62afbda961 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Kjellerstedt <pkj@axis.com>
|
||||
Date: Sat, 21 Nov 2020 17:22:38 +0100
|
||||
Subject: [PATCH] pseudo_client: Lessen indentation of
|
||||
pseudo_client_ignore_path_chroot()
|
||||
|
||||
Change-Id: I739b18efb7a95ce2d2d907d0faf7df539ab9af1c
|
||||
---
|
||||
pseudo_client.c | 45 +++++++++++++++++++++++++--------------------
|
||||
1 file changed, 25 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/pseudo_client.c b/pseudo_client.c
|
||||
index 116d926..a8bc3dc 100644
|
||||
--- a/pseudo_client.c
|
||||
+++ b/pseudo_client.c
|
||||
@@ -1527,28 +1527,33 @@ int pseudo_client_ignore_fd(int fd) {
|
||||
|
||||
int pseudo_client_ignore_path_chroot(const char *path, int ignore_chroot) {
|
||||
char *env;
|
||||
- if (path) {
|
||||
- if (ignore_chroot && pseudo_chroot && strncmp(path, pseudo_chroot, pseudo_chroot_len) == 0)
|
||||
- return 0;
|
||||
- env = pseudo_get_value("PSEUDO_IGNORE_PATHS");
|
||||
- if (env) {
|
||||
- char *p = env;
|
||||
- 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
|
||||
- break;
|
||||
- }
|
||||
- free(env);
|
||||
+
|
||||
+ if (!path)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (ignore_chroot && pseudo_chroot && strncmp(path, pseudo_chroot, pseudo_chroot_len) == 0)
|
||||
+ return 0;
|
||||
+
|
||||
+ env = pseudo_get_value("PSEUDO_IGNORE_PATHS");
|
||||
+ if (!env)
|
||||
+ return 0;
|
||||
+
|
||||
+ char *p = env;
|
||||
+ 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
|
||||
+ break;
|
||||
}
|
||||
+ free(env);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
From a1d61d68777373a50ae23b9dd83b428abe2f748d Mon Sep 17 00:00:00 2001
|
||||
From: Peter Kjellerstedt <pkj@axis.com>
|
||||
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) {
|
||||
@@ -4,6 +4,8 @@ SRC_URI = "git://git.yoctoproject.org/pseudo;branch=oe-core \
|
||||
file://0001-configure-Prune-PIE-flags.patch \
|
||||
file://fallback-passwd \
|
||||
file://fallback-group \
|
||||
file://0002-pseudo_client-Lessen-indentation-of-pseudo_client_ig.patch \
|
||||
file://0003-pseudo_client-Simplify-pseudo_client_ignore_path_chr.patch \
|
||||
"
|
||||
|
||||
SRCREV = "cca0d7f15b7197095cd587420d31b187620c3093"
|
||||
|
||||
Reference in New Issue
Block a user