Compare commits

...

No commits in common. 'c9' and 'i10c-beta' have entirely different histories.

@ -1,2 +1,2 @@
7a62e0d2caad92ff745bc5037592b2753f0b2f20 SOURCES/freeglut-3.2.1.tar.gz
169b069a6c3e7a3ce960887ab3e4a8ee73443bbd SOURCES/freeglut-3.4.0.tar.gz
9df57d26b2cd0448fd83141009729317ff2ea4e7 SOURCES/openglut-0.6.3-doc.tar.gz

2
.gitignore vendored

@ -1,2 +1,2 @@
SOURCES/freeglut-3.2.1.tar.gz
SOURCES/freeglut-3.4.0.tar.gz
SOURCES/openglut-0.6.3-doc.tar.gz

@ -0,0 +1,49 @@
From a3810f4e9540286e2d4b8cc97c82ec484de45b9e Mon Sep 17 00:00:00 2001
From: Sebastian Rasmussen <sebras@gmail.com>
Date: Mon, 12 Feb 2024 14:46:22 +0800
Subject: [PATCH] Plug memory leak that happens upon error.
If fgStructure.CurrentMenu is set when glutAddMenuEntry() or
glutAddSubMenu() is called the allocated menuEntry variable will
leak. This commit postpones allocating menuEntry until after the
error checks, thereby plugging the memory leak.
This fixes CVE-2024-24258 and CVE-2024-24259.
---
src/fg_menu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/fg_menu.c b/src/fg_menu.c
index 53112dc21..0da88901d 100644
--- a/src/fg_menu.c
+++ b/src/fg_menu.c
@@ -864,12 +864,12 @@ void FGAPIENTRY glutAddMenuEntry( const char* label, int value )
{
SFG_MenuEntry* menuEntry;
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutAddMenuEntry" );
- menuEntry = (SFG_MenuEntry *)calloc( sizeof(SFG_MenuEntry), 1 );
freeglut_return_if_fail( fgStructure.CurrentMenu );
if (fgState.ActiveMenus)
fgError("Menu manipulation not allowed while menus in use.");
+ menuEntry = (SFG_MenuEntry *)calloc( sizeof(SFG_MenuEntry), 1 );
menuEntry->Text = strdup( label );
menuEntry->ID = value;
@@ -888,7 +888,6 @@ void FGAPIENTRY glutAddSubMenu( const char *label, int subMenuID )
SFG_Menu *subMenu;
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutAddSubMenu" );
- menuEntry = ( SFG_MenuEntry * )calloc( sizeof( SFG_MenuEntry ), 1 );
subMenu = fgMenuByID( subMenuID );
freeglut_return_if_fail( fgStructure.CurrentMenu );
@@ -897,6 +896,7 @@ void FGAPIENTRY glutAddSubMenu( const char *label, int subMenuID )
freeglut_return_if_fail( subMenu );
+ menuEntry = ( SFG_MenuEntry * )calloc( sizeof( SFG_MenuEntry ), 1 );
menuEntry->Text = strdup( label );
menuEntry->SubMenu = subMenu;
menuEntry->ID = -1;

@ -1,19 +1,21 @@
%global __cmake_in_source_build 1
Summary: A freely licensed alternative to the GLUT library
Name: freeglut
Version: 3.2.1
Release: 9%{?dist}
Version: 3.4.0
Release: 8%{?dist}
URL: http://freeglut.sourceforge.net
Source0: https://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
# For the manpages
Source1: https://downloads.sourceforge.net/openglut/openglut-0.6.3-doc.tar.gz
Patch0: common.patch
# Patch for CVE-2024-24258 and CVE-2024-24259
Patch1: 155.patch
License: MIT
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: pkgconfig libGLU-devel libXext-devel libXxf86vm-devel
BuildRequires: pkgconfig libGLU-devel libXext-devel
BuildRequires: libXi-devel libICE-devel
BuildRequires: make
# The virtual Provides below is present so that this freeglut package is a
@ -52,15 +54,16 @@ license.
%prep
%setup -q -a 1
%patch0 -p0
%patch -P 0 -p0
%patch -P 1 -p1
%build
%{cmake} -DFREEGLUT_BUILD_STATIC_LIBS=OFF .
make %{?_smp_mflags}
%{cmake_build}
%install
make install DESTDIR=$RPM_BUILD_ROOT
%{make_install}
mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man3
install -p -m 644 doc/man/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3
@ -70,11 +73,13 @@ install -p -m 644 doc/man/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3
%files
%doc AUTHORS ChangeLog COPYING README doc/*.png doc/*.html
%license COPYING
%doc AUTHORS ChangeLog README.md
# don't include contents of doc/ directory as it is mostly obsolete
%{_libdir}/libglut.so.3*
%files devel
%doc doc/html/*.png doc/html/*.html
%{_includedir}/GL/*.h
%{_libdir}/libglut.so
%{_libdir}/pkgconfig/glut.pc
@ -82,12 +87,50 @@ install -p -m 644 doc/man/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3
%{_libdir}/cmake/FreeGLUT/*
%changelog
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.2.1-9
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Tue Nov 26 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 3.4.0-8
- Rebuilt for MSVSphere 10
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 3.2.1-8
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 3.4.0-8
- Bump release for June 2024 mass rebuild
* Mon Feb 12 2024 Gwyn Ciesla <gwync@protonmail.com> - 3.4.0-7
- Patch for CVE-2024-24258 and CVE-2024-24259
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Mar 03 2023 Gwyn Ciesla <gwync@protonmail.com> - 3.4.0-3
- migrated to SPDX license
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Oct 07 2022 Gwyn Ciesla <gwync@protonmail.com> - 3.4.0-1
- 3.4.0
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Feb 06 2022 Gwyn Ciesla <gwync@protonmail.com> - 3.2.2-1
- 3.2.2
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
- Mon Mar 15 2021 Timm Bäder <tbaeder@redhat.com> - 3.2.1-9
- Use cmake_build and make_install macros
* Fri Mar 12 2021 Adam Jackson <ajax@redhat.com> - 3.2.1-8
- Drop legacy BuildRequires: libXxf86vm-devel
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

Loading…
Cancel
Save