diff --git a/libmetalink-0.1.3-ns_uri.patch b/libmetalink-0.1.3-ns_uri.patch new file mode 100644 index 0000000000000000000000000000000000000000..daa5fa7e3160ab365687187a52c9b3d31915d2e5 --- /dev/null +++ b/libmetalink-0.1.3-ns_uri.patch @@ -0,0 +1,21 @@ +diff -urp libmetalink-0.1.3.orig/lib/metalink_pstate.c libmetalink-0.1.3/lib/metalink_pstate.c +--- libmetalink-0.1.3.orig/lib/metalink_pstate.c 2012-08-12 04:43:53.000000000 -0400 ++++ libmetalink-0.1.3/lib/metalink_pstate.c 2020-07-22 17:03:21.205852103 -0400 +@@ -100,7 +100,7 @@ void initial_state_start_fun(metalink_ps + const char** attrs) + { + if(strcmp("metalink", name) == 0) { +- if (strcmp(METALINK_V3_NS_URI, ns_uri) == 0) { ++ if (ns_uri && strcmp(METALINK_V3_NS_URI, ns_uri) == 0) { + const char* type; + const char* origin; + metalink_pctrl_set_version(stm->ctrl, METALINK_VERSION_3); +@@ -116,7 +116,7 @@ void initial_state_start_fun(metalink_ps + + metalink_pstm_enter_metalink_state(stm); + } +- else if (strcmp(METALINK_V4_NS_URI, ns_uri) == 0) { ++ else if (ns_uri && strcmp(METALINK_V4_NS_URI, ns_uri) == 0) { + metalink_pctrl_set_version(stm->ctrl, METALINK_VERSION_4); + metalink_pstm_enter_metalink_state_v4(stm); + } else { diff --git a/libmetalink-0.1.3.tar.bz2 b/libmetalink-0.1.3.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..068bde635a1ebf507cc17832cf294fb1b6741238 Binary files /dev/null and b/libmetalink-0.1.3.tar.bz2 differ diff --git a/libmetalink.spec b/libmetalink.spec index 23b54937af4afb17e21a7436b478d2c19dcfde95..f0786cf63304151a05db4a68ea2661e50e223bef 100644 --- a/libmetalink.spec +++ b/libmetalink.spec @@ -1,16 +1,19 @@ -%define anolis_release 9 +%define anolis_release 10 %global so_version 3 Name: libmetalink -Version: 0.1.3 +Version: 0.1.3 Release: %{anolis_release}%{?dist} Summary: C library to read Metalink XML download description format License: MIT URL: https://github.com/metalink-dev/libmetalink -Source0: https://github.com/metalink-dev/libmetalink/releases/download/release-%{version}/%{name}-%{version}.tar.xz +Source0: https://launchpad.net/libmetalink/trunk/libmetalink-0.1.3/+download/libmetalink-0.1.3.tar.bz2 +Patch1: libmetalink-0.1.3-ns_uri.patch BuildRequires: pkgconfig(expat) pkgconfig(cunit) BuildRequires: gcc make +BuildRequires: CUnit-devel +BuildRequires: expat-devel %description Libmetalink is a library to read Metalink XML download description format. @@ -62,6 +65,8 @@ The %{name}-doc package contains documentation files for %{name}. %doc AUTHORS ChangeLog NEWS README %changelog +* Sun Sep 28 2025 wenyuzifang - 0.1.3-10 +- Prevent crashes by validating namespace URI before comparison. * Sat Apr 08 2023 Shawn Wang - 0.1.3-9 - Optimize the spec file