diff --git a/0000-fix-null-pointer-dereference.patch b/0000-fix-null-pointer-dereference.patch deleted file mode 100644 index ef4206e..0000000 --- a/0000-fix-null-pointer-dereference.patch +++ /dev/null @@ -1,151 +0,0 @@ -From a340963e0c40f3ea85fea911c79fbaaa5af93e27 Mon Sep 17 00:00:00 2001 -From: suve -Date: Thu, 9 Jun 2022 15:46:20 +0200 -Subject: [PATCH 1/2] Check if 24-bit colour codes contain 3 arguments - ---- - aha.c | 64 ++++++++++++++++++++++++++--------------------------------- - 1 file changed, 28 insertions(+), 36 deletions(-) - -diff --git a/aha.c b/aha.c -index 46e43c0..bf22373 100644 ---- a/aha.c -+++ b/aha.c -@@ -833,25 +833,21 @@ int main(int argc,char* args[]) - if (momelem->value == 38 && - momelem->next && - momelem->next->value == 2 && -- momelem->next->next)// 38;2; -> 24 Bit -+ momelem->next->next && -+ momelem->next->next->next && -+ momelem->next->next->next->next)// 38;2;;; -> 24 Bit - { -- momelem = momelem->next->next; -- pelem r,g,b; -- r = momelem; -- momelem = momelem->next; -- g = momelem; -- if ( momelem ) -- momelem = momelem->next; -- b = momelem; -- if ( r && g && b ) -- { -- state.highlighted = 0; -- state.fc_colormode = MODE_24BIT; -- *dest = -- (r->value & 255) * 65536 + -- (g->value & 255) * 256 + -- (b->value & 255); -- } -+ pelem r = momelem->next->next; -+ pelem g = r->next; -+ pelem b = g->next; -+ momelem = b; -+ -+ state.highlighted = 0; -+ state.fc_colormode = MODE_24BIT; -+ *dest = -+ (r->value & 255) * 65536 + -+ (g->value & 255) * 256 + -+ (b->value & 255); - } - else - { -@@ -901,25 +897,21 @@ int main(int argc,char* args[]) - if (momelem->value == 48 && - momelem->next && - momelem->next->value == 2 && -- momelem->next->next)// 48;2; -> 24 Bit -+ momelem->next->next && -+ momelem->next->next->next && -+ momelem->next->next->next->next)// 48;2;;; -> 24 Bit - { -- momelem = momelem->next->next; -- pelem r,g,b; -- r = momelem; -- momelem = momelem->next; -- g = momelem; -- if ( momelem ) -- momelem = momelem->next; -- b = momelem; -- if ( r && g && b ) -- { -- state.bc_colormode = MODE_24BIT; -- state.highlighted = 0; -- *dest = -- (r->value & 255) * 65536 + -- (g->value & 255) * 256 + -- (b->value & 255); -- } -+ pelem r = momelem->next->next; -+ pelem g = r->next; -+ pelem b = g->next; -+ momelem = b; -+ -+ state.bc_colormode = MODE_24BIT; -+ state.highlighted = 0; -+ *dest = -+ (r->value & 255) * 65536 + -+ (g->value & 255) * 256 + -+ (b->value & 255); - } - else - { - -From 1b8b994b058920cdc2fe144dca3243bacf1d49b2 Mon Sep 17 00:00:00 2001 -From: suve -Date: Thu, 9 Jun 2022 15:55:29 +0200 -Subject: [PATCH 2/2] Add a helper function to avoid ->next checks - ---- - aha.c | 23 +++++++++++++---------- - 1 file changed, 13 insertions(+), 10 deletions(-) - -diff --git a/aha.c b/aha.c -index bf22373..2bfebb7 100644 ---- a/aha.c -+++ b/aha.c -@@ -138,6 +138,15 @@ pelem parseInsert(char* s) - return firstelem; - } - -+int parseDepthAtLeast(pelem elem, unsigned int wanted) { -+ while (elem != NULL) { -+ if (wanted == 0) return 1; -+ elem = elem->next; -+ --wanted; -+ } -+ return 0; -+} -+ - void deleteParse(pelem elem) - { - while (elem!=NULL) -@@ -831,11 +840,8 @@ int main(int argc,char* args[]) - } - else - if (momelem->value == 38 && -- momelem->next && -- momelem->next->value == 2 && -- momelem->next->next && -- momelem->next->next->next && -- momelem->next->next->next->next)// 38;2;;; -> 24 Bit -+ parseDepthAtLeast(momelem, 4) && -+ momelem->next->value == 2)// 38;2;;; -> 24 Bit - { - pelem r = momelem->next->next; - pelem g = r->next; -@@ -895,11 +901,8 @@ int main(int argc,char* args[]) - } - else - if (momelem->value == 48 && -- momelem->next && -- momelem->next->value == 2 && -- momelem->next->next && -- momelem->next->next->next && -- momelem->next->next->next->next)// 48;2;;; -> 24 Bit -+ parseDepthAtLeast(momelem, 4) && -+ momelem->next->value == 2)// 48;2;;; -> 24 Bit - { - pelem r = momelem->next->next; - pelem g = r->next; diff --git a/aha.spec b/aha.spec index e5c3e7e..35b0d40 100644 --- a/aha.spec +++ b/aha.spec @@ -1,21 +1,13 @@ Name: aha -Summary: Convert terminal output to HTML -License: MPL-1.1 OR LGPL-2.0-or-later - Version: 0.5.1 -Release: 15%{?dist} +Release: 1%{?dist} +Summary: Convert terminal output to HTML +License: MPLv1.1 or LGPLv2+ URL: https://github.com/theZiz/aha Source0: %{URL}/archive/%{version}/%{name}-%{version}.tar.gz -# Fix a null pointer dereference when interpreting -# invalid 24-bit color code escape sequences. -# -# Submitted upstream: https://github.com/theZiz/aha/pull/97 -Patch0: 0000-fix-null-pointer-dereference.patch - -BuildRequires: gcc -BuildRequires: make +BuildRequires: gcc make %description @@ -25,7 +17,7 @@ and produces an HTML rendition of the original text. %prep -%autosetup -p1 +%setup -q # Extract license header from source code cat aha.c | awk '1;/\*\//{exit}' > LICENSE @@ -41,68 +33,14 @@ cat aha.c | awk '1;/\*\//{exit}' > LICENSE %files %license LICENSE -%license LICENSE.MPL1.1 LICENSE.LGPLv2+ %{_bindir}/%{name} %{_mandir}/man1/%{name}.* %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 0.5.1-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Wed Jul 23 2025 Fedora Release Engineering - 0.5.1-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 0.5.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Aug 08 2024 Artur Frenszek-Iwicki - 0.5.1-12 -- Convert License tag to SPDX -- Include full license texts in the package - -* Wed Jul 17 2024 Fedora Release Engineering - 0.5.1-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 0.5.1-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 0.5.1-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jul 19 2023 Fedora Release Engineering - 0.5.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jan 18 2023 Fedora Release Engineering - 0.5.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jul 20 2022 Fedora Release Engineering - 0.5.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jul 11 2022 Artur Frenszek-Iwicki - 0.5.1-5 -- Add a patch to fix segfault because of null pointer dereference - -* Wed Jan 19 2022 Fedora Release Engineering - 0.5.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 0.5.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Jan 25 2021 Fedora Release Engineering - 0.5.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Thu Sep 10 2020 Artur Frenszek-Iwicki - 0.5.1-1 +* Mon Sep 14 2020 Artur Frenszek-Iwicki - 0.5.1-1 - Update to latest upstream release -* Fri Jul 31 2020 Fedora Release Engineering - 0.5-6 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 0.5-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Fedora Release Engineering - 0.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - * Wed Jul 24 2019 Fedora Release Engineering - 0.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild