diff --git a/CVE-2023-33461.patch b/CVE-2023-33461.patch deleted file mode 100644 index ac03187bb99d254af8595fc87f604bd6e555e375..0000000000000000000000000000000000000000 --- a/CVE-2023-33461.patch +++ /dev/null @@ -1,45 +0,0 @@ -From ace9871f65d11b5d73f0b9ee8cf5d2807439442d Mon Sep 17 00:00:00 2001 -From: Antonio -Date: Fri, 2 Jun 2023 15:03:10 -0300 -Subject: [PATCH] Handle null return from iniparser_getstring - -Origin: https://github.com/ndevilla/iniparser/pull/146 - -Fix handling of NULL returns from iniparser_getstring in -iniparser_getboolean, iniparser_getlongint and iniparser_getdouble, -avoiding a crash. ---- - src/iniparser.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/iniparser.c b/src/iniparser.c -index f1d1658..dbceb20 100644 ---- a/src/iniparser.c -+++ b/src/iniparser.c -@@ -456,7 +456,7 @@ long int iniparser_getlongint(const dictionary * d, const char * key, long int n - const char * str ; - - str = iniparser_getstring(d, key, INI_INVALID_KEY); -- if (str==INI_INVALID_KEY) return notfound ; -+ if (str==NULL || str==INI_INVALID_KEY) return notfound ; - return strtol(str, NULL, 0); - } - -@@ -511,7 +511,7 @@ double iniparser_getdouble(const dictionary * d, const char * key, double notfou - const char * str ; - - str = iniparser_getstring(d, key, INI_INVALID_KEY); -- if (str==INI_INVALID_KEY) return notfound ; -+ if (str==NULL || str==INI_INVALID_KEY) return notfound ; - return atof(str); - } - -@@ -553,7 +553,7 @@ int iniparser_getboolean(const dictionary * d, const char * key, int notfound) - const char * c ; - - c = iniparser_getstring(d, key, INI_INVALID_KEY); -- if (c==INI_INVALID_KEY) return notfound ; -+ if (c==NULL || c==INI_INVALID_KEY) return notfound ; - if (c[0]=='y' || c[0]=='Y' || c[0]=='1' || c[0]=='t' || c[0]=='T') { - ret = 1 ; - } else if (c[0]=='n' || c[0]=='N' || c[0]=='0' || c[0]=='f' || c[0]=='F') { diff --git a/iniparser-4.1.tar.gz b/iniparser-4.1.tar.gz deleted file mode 100644 index fd23a046e7f8e0489142320577fd327ca2a993bd..0000000000000000000000000000000000000000 Binary files a/iniparser-4.1.tar.gz and /dev/null differ diff --git a/iniparser-4.2.4.tar.gz b/iniparser-4.2.4.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1df81803cc278858c892109f8665a3c44c9a66f6 Binary files /dev/null and b/iniparser-4.2.4.tar.gz differ diff --git a/iniparser.spec b/iniparser.spec index 776d7f1a69d2c0306ddb6cfbe87ecd3799b8eced..b348ab4cf7bd5474f27dad7579b0e62ac5faff34 100644 --- a/iniparser.spec +++ b/iniparser.spec @@ -1,13 +1,12 @@ Name: iniparser -Version: 4.1 -Release: 5 +Version: 4.2.4 +Release: 1 Summary: ini file parser License: MIT and Zlib URL: https://github.com/ndevilla/iniparser Source0: https://github.com/ndevilla/iniparser/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -Patch0: CVE-2023-33461.patch -BuildRequires: gcc doxygen chrpath +BuildRequires: gcc doxygen chrpath cmake doxygen %description This modules offers parsing of ini files from the C level. See a complete documentation in HTML format, from this directory open the file html/index.html with any HTML-capable browser. @@ -16,32 +15,20 @@ This modules offers parsing of ini files from the C level. See a complete docume %autosetup -n %{name}-%{version} -p1 %build -export CFLAGS="${RPM_OPT_FLAGS}" -%make_build -cd doc;make +%cmake -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON +%cmake_build -%install -install -d %{buildroot}/%{_includedir}/%{name} -install -m 644 -t %{buildroot}%{_includedir}/%{name} src/dictionary.h src/iniparser.h - -install -d %{buildroot}/%{_libdir} -install -m 755 -t %{buildroot}%{_libdir}/ libiniparser.so.1 -ln -s libiniparser.so.1 %{buildroot}%{_libdir}/libiniparser.so - -install -d %{buildroot}/%{_docdir}/%{name} -cp -r example %{buildroot}/%{_docdir}/%{name} -cp -r html %{buildroot}/%{_docdir}/%{name} -chrpath -d %{buildroot}/%{_libdir}/libiniparser.so.1 +%install +%cmake_install +rm -rf %{buildroot}%{_bindir}/testrun +rm -rf %{buildroot}%{_bindir}/ressources +rm -rf %{buildroot}%{_docdir}/%{name}/examples +chrpath -d %{buildroot}%{_libdir}/libiniparser.so.4 mkdir -p %{buildroot}/etc/ld.so.conf.d echo "%{_libdir}" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf -%pre -%preun -%post -/sbin/ldconfig -%postun -/sbin/ldconfig +%ldconfig_scriptlets %check @@ -54,6 +41,18 @@ echo "%{_libdir}" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf %config(noreplace) /etc/ld.so.conf.d/* %changelog +* Tue Dec 24 2024 xu_ping <707078654@qq.com> - 4.2.4-1 +- Upgrade version to 4.2.4 + * Add null check in function dictionary_get() + * Remove unused defines + * Replace POSIX ssize_t with C standard size_t + * Add basic iniparser.pc + * Support for closing square brackets within section + * Support for escaped quotes in quoted values + * Support for loading string/custom streams + * Support for uin64_t + * Update doxygen docs + * Sun Jun 25 2023 wangkai <13474090681@163.com> - 4.1-5 - Fix CVE-2023-33461