Compare commits
No commits in common. "f534a21e0b7b43b0bc02b6dc770e1d4a35071b03" and "c7f3631c52d3afe3b5d939c39f9e3c5a50501078" have entirely different histories.
f534a21e0b
...
c7f3631c52
@ -1,51 +0,0 @@
|
|||||||
From 9ad320c1ad1a25558998ddfe47674511567fec57 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.
|
|
||||||
|
|
||||||
Origin: https://github.com/freeglut/freeglut/commit/9ad320c1ad1a25558998ddfe47674511567fec57
|
|
||||||
|
|
||||||
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;
|
|
||||||
Binary file not shown.
@ -1,81 +0,0 @@
|
|||||||
Name: freeglut
|
|
||||||
Version: 3.0.0
|
|
||||||
Release: 13
|
|
||||||
Summary: A freely licensed alternative to the GLUT library
|
|
||||||
License: MIT
|
|
||||||
URL: http://freeglut.sourceforge.net
|
|
||||||
Source0: https://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
|
||||||
Source1: https://downloads.sourceforge.net/openglut/openglut-0.6.3-doc.tar.gz
|
|
||||||
Patch0: gcc-10.patch
|
|
||||||
Patch1: CVE-2024-24258-and-CVE-2024-24259.patch
|
|
||||||
|
|
||||||
BuildRequires: gcc gcc-c++ cmake libXi-devel libICE-devel
|
|
||||||
BuildRequires: pkgconfig libGLU-devel libXext-devel libXxf86vm-devel
|
|
||||||
Provides: glut = 3.7
|
|
||||||
Obsoletes: glut < 3.7
|
|
||||||
|
|
||||||
%description
|
|
||||||
Freeglut is a free-software/open-source alternative to the OpenGL Utility
|
|
||||||
Toolkit (GLUT) library. GLUT was originally written to support the sample
|
|
||||||
programs in the second edition OpenGL 'RedBook'. Since then, GLUT has been used
|
|
||||||
in a wide variety of practical applications because it is simple, widely
|
|
||||||
available and highly portable.
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Freeglut developmental libraries and header files
|
|
||||||
Requires: %{name} = %{version}-%{release} libGL-devel libGLU-devel
|
|
||||||
Provides: glut-devel = 3.7
|
|
||||||
Obsoletes: glut-devel < 3.7
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
This package provides developmental libraries and header files required for
|
|
||||||
developing or compilingsoftware which links to the freeglut library.
|
|
||||||
|
|
||||||
%package help
|
|
||||||
Summary: Help information and man pages for freeglut
|
|
||||||
|
|
||||||
%description help
|
|
||||||
This package provides man-pages and involved help info for freeglut
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%autosetup -n %{name}-%{version} -a 1 -p1
|
|
||||||
|
|
||||||
%build
|
|
||||||
%{cmake} -DFREEGLUT_BUILD_STATIC_LIBS=OFF .
|
|
||||||
%make_build
|
|
||||||
|
|
||||||
%install
|
|
||||||
%make_install
|
|
||||||
install -d $RPM_BUILD_ROOT/%{_mandir}/man3
|
|
||||||
install -p -m 644 doc/man/*.3 $RPM_BUILD_ROOT/%{_mandir}/man3
|
|
||||||
|
|
||||||
%post
|
|
||||||
/sbin/ldconfig
|
|
||||||
%postun
|
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
|
||||||
%doc AUTHORS ChangeLog COPYING
|
|
||||||
%{_libdir}/libglut.so.3*
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_includedir}/GL/*.h
|
|
||||||
%{_libdir}/libglut.so
|
|
||||||
%{_libdir}/pkgconfig/freeglut.pc
|
|
||||||
|
|
||||||
%files help
|
|
||||||
%{_mandir}/man3/*
|
|
||||||
%doc README doc/*.png doc/*.html
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Fri Oct 11 2024 lvzhonglin <lvzhonglin@inspur.com> - 3.0.0-13
|
|
||||||
- update description
|
|
||||||
|
|
||||||
* Sun Feb 18 2024 wangkai <13474090681@163.com> - 3.0.0-12
|
|
||||||
- Fix CVE-2024-24258 and CVE-2024-24259
|
|
||||||
|
|
||||||
* Fri Jul 30 2021 linjiaxin5 <linjiaxin5@huawei.com> - 3.0.0-11
|
|
||||||
- Fix failure caused by GCC upgrade to 10
|
|
||||||
|
|
||||||
* Fri Nov 22 2019 sunguoshuai <sunguoshuai@huawei.com> - 3.0.0-10
|
|
||||||
- Package init.
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
version_control: github
|
|
||||||
src_repo: dcnieho/FreeGLUT
|
|
||||||
tag_prefix: ^FG_
|
|
||||||
seperator: _
|
|
||||||
45
gcc-10.patch
45
gcc-10.patch
@ -1,45 +0,0 @@
|
|||||||
--- a/src/fg_gl2.c
|
|
||||||
+++ b/src/fg_gl2.c
|
|
||||||
@@ -26,6 +26,20 @@
|
|
||||||
#include <GL/freeglut.h>
|
|
||||||
#include "fg_internal.h"
|
|
||||||
#include "fg_gl2.h"
|
|
||||||
+
|
|
||||||
+#ifndef GL_ES_VERSION_2_0
|
|
||||||
+/* GLES2 has the corresponding entry points built-in, and these fgh-prefixed
|
|
||||||
+ * names are defined in fg_gl2.h header to reference them, for any other case,
|
|
||||||
+ * define them as function pointers here.
|
|
||||||
+ */
|
|
||||||
+FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
|
|
||||||
+FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
|
|
||||||
+FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
|
|
||||||
+FGH_PFNGLBUFFERDATAPROC fghBufferData;
|
|
||||||
+FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
|
|
||||||
+FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
|
|
||||||
+FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
void FGAPIENTRY glutSetVertexAttribCoord3(GLint attrib) {
|
|
||||||
if (fgStructure.CurrentWindow != NULL)
|
|
||||||
--- a/src/fg_gl2.h
|
|
||||||
+++ b/src/fg_gl2.h
|
|
||||||
@@ -67,13 +67,13 @@
|
|
||||||
typedef void (APIENTRY *FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint);
|
|
||||||
typedef void (APIENTRY *FGH_PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
|
|
||||||
|
|
||||||
-FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
|
|
||||||
-FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
|
|
||||||
-FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
|
|
||||||
-FGH_PFNGLBUFFERDATAPROC fghBufferData;
|
|
||||||
-FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
|
|
||||||
-FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
|
|
||||||
-FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
|
|
||||||
+extern FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
|
|
||||||
+extern FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
|
|
||||||
+extern FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
|
|
||||||
+extern FGH_PFNGLBUFFERDATAPROC fghBufferData;
|
|
||||||
+extern FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
|
|
||||||
+extern FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
|
|
||||||
+extern FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
|
|
||||||
|
|
||||||
# endif
|
|
||||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user