mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00: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
+69
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
+50
@@ -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://0001-configure-Prune-PIE-flags.patch \
|
||||||
file://fallback-passwd \
|
file://fallback-passwd \
|
||||||
file://fallback-group \
|
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"
|
SRCREV = "cca0d7f15b7197095cd587420d31b187620c3093"
|
||||||
|
|||||||
Reference in New Issue
Block a user