libconfuse: upgrade 3.3 -> 3.4

Drop patches that are part of the upstream version

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Ankur Tyagi
2026-08-20 22:43:18 -07:00
committed by Khem Raj
parent 111eca9530
commit 852b471634
3 changed files with 1 additions and 95 deletions
@@ -1,48 +0,0 @@
From b684f4cc25821b6e86a58576f864e4b12dfdfecc Mon Sep 17 00:00:00 2001
From: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Date: Sat, 5 Jun 2021 22:57:51 +0200
Subject: [PATCH] only apply search path logic to relative pathnames
Adding any directory to the search path via cfg_add_searchpath breaks
lookup of absolute paths. So change the logic in cfg_searchpath() to
ignore the search path when the given filename is absolute, and merely
check that for existence.
This is technically an ABI change, but the current behaviour is quite
unusual and unexpected.
Upstream-Status: Backport [https://github.com/libconfuse/libconfuse/pull/155]
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
---
src/confuse.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/confuse.c b/src/confuse.c
index 2ea0254..19b56e3 100644
--- a/src/confuse.c
+++ b/src/confuse.c
@@ -1746,12 +1746,20 @@ DLLIMPORT char *cfg_searchpath(cfg_searchpath_t *p, const char *file)
return NULL;
}
+ if (file[0] == '/') {
+ fullpath = strdup(file);
+ if (!fullpath)
+ return NULL;
+ goto check;
+ }
+
if ((fullpath = cfg_searchpath(p->next, file)) != NULL)
return fullpath;
if ((fullpath = cfg_make_fullpath(p->dir, file)) == NULL)
return NULL;
+check:
#ifdef HAVE_SYS_STAT_H
err = stat((const char *)fullpath, &st);
if ((!err) && S_ISREG(st.st_mode))
--
2.31.1
@@ -1,42 +0,0 @@
From d73777c2c3566fb2647727bb56d9a2295b81669b Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com>
Date: Fri, 2 Sep 2022 16:12:46 +0200
Subject: [PATCH] Fix #163: unterminated username used with getpwnam()
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
CVE: CVE-2022-40320
Upstream-Status: Backport [https://github.com/libconfuse/libconfuse/commit/d73777c2c3566fb2647727bb56d9a2295b81669b]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
src/confuse.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/confuse.c b/src/confuse.c
index 6d1fdbd..05566b5 100644
--- a/src/confuse.c
+++ b/src/confuse.c
@@ -1872,17 +1872,20 @@ DLLIMPORT char *cfg_tilde_expand(const char *filename)
file = filename + 1;
} else {
/* ~user or ~user/path */
- char *user;
+ char *user; /* ~user or ~user/path */
+ size_t len;
file = strchr(filename, '/');
if (file == 0)
file = filename + strlen(filename);
- user = malloc(file - filename);
+ len = file - filename - 1;
+ user = malloc(len + 1);
if (!user)
return NULL;
- strncpy(user, filename + 1, file - filename - 1);
+ strncpy(user, &filename[1], len);
+ user[len] = 0;
passwd = getpwnam(user);
free(user);
}
@@ -3,15 +3,11 @@ LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=42fa47330d4051cd219f7d99d023de3a"
SRC_URI = "https://github.com/libconfuse/libconfuse/releases/download/v${PV}/confuse-${PV}.tar.gz"
SRC_URI[sha256sum] = "3a59ded20bc652eaa8e6261ab46f7e483bc13dad79263c15af42ecbb329707b8"
SRC_URI[sha256sum] = "d98a793f4cafc1b3c18e2509ba54f6cb9ac6291b181bcda152dc987cb78f43ec"
UPSTREAM_CHECK_URI = "https://github.com/libconfuse/libconfuse/releases"
UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)"
SRC_URI += "file://0001-only-apply-search-path-logic-to-relative-pathnames.patch"
SRC_URI += "file://CVE-2022-40320.patch"
inherit autotools-brokensep pkgconfig gettext
S = "${UNPACKDIR}/confuse-${PV}"