Compare commits
No commits in common. "7adc8e78423c71222230051c511bfa5ae16be8c4" and "567bfa773768feb9ede68288799793526842fde1" have entirely different histories.
7adc8e7842
...
567bfa7737
@ -1,77 +0,0 @@
|
|||||||
Date: Sat, 5 Dec 2020 06:33:28 +0000
|
|
||||||
Subject: [PATCH] fix fuzz undefined behavior error
|
|
||||||
|
|
||||||
---
|
|
||||||
libmp3lame/VbrTag.c | 2 +-
|
|
||||||
libmp3lame/bitstream.c | 6 +++---
|
|
||||||
libmp3lame/id3tag.c | 3 ++-
|
|
||||||
libmp3lame/quantize.c | 2 +-
|
|
||||||
4 files changed, 7 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libmp3lame/VbrTag.c b/libmp3lame/VbrTag.c
|
|
||||||
index 5800a44..880010a 100644
|
|
||||||
--- a/libmp3lame/VbrTag.c
|
|
||||||
+++ b/libmp3lame/VbrTag.c
|
|
||||||
@@ -251,7 +251,7 @@ IsVbrTag(const unsigned char *buf)
|
|
||||||
return (isTag0 || isTag1);
|
|
||||||
}
|
|
||||||
|
|
||||||
-#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
|
|
||||||
+#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(0xffffffffu << (n)) ) )
|
|
||||||
|
|
||||||
static void
|
|
||||||
setLameTagFrameHeader(lame_internal_flags const *gfc, unsigned char *buffer)
|
|
||||||
diff --git a/libmp3lame/bitstream.c b/libmp3lame/bitstream.c
|
|
||||||
index aa35915..25ee88a 100644
|
|
||||||
--- a/libmp3lame/bitstream.c
|
|
||||||
+++ b/libmp3lame/bitstream.c
|
|
||||||
@@ -178,7 +178,7 @@ putbits2(lame_internal_flags * gfc, int val, int j)
|
|
||||||
assert(j < MAX_LENGTH); /* 32 too large on 32 bit machines */
|
|
||||||
assert(bs->buf_bit_idx < MAX_LENGTH);
|
|
||||||
|
|
||||||
- bs->buf[bs->buf_byte_idx] |= ((val >> j) << bs->buf_bit_idx);
|
|
||||||
+ bs->buf[bs->buf_byte_idx] |= (((unsigned int)val >> j) << bs->buf_bit_idx);
|
|
||||||
bs->totbit += k;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -290,8 +290,8 @@ CRC_update(int value, int crc)
|
|
||||||
int i;
|
|
||||||
value <<= 8;
|
|
||||||
for (i = 0; i < 8; i++) {
|
|
||||||
- value <<= 1;
|
|
||||||
- crc <<= 1;
|
|
||||||
+ value = (unsigned int)value * 2;
|
|
||||||
+ crc = (unsigned int)crc * 2;
|
|
||||||
|
|
||||||
if (((crc ^ value) & 0x10000))
|
|
||||||
crc ^= CRC16_POLYNOMIAL;
|
|
||||||
diff --git a/libmp3lame/id3tag.c b/libmp3lame/id3tag.c
|
|
||||||
index ac48510..f2888c3 100644
|
|
||||||
--- a/libmp3lame/id3tag.c
|
|
||||||
+++ b/libmp3lame/id3tag.c
|
|
||||||
@@ -157,7 +157,8 @@ typedef enum MiscIDs { ID_TXXX = FRAME_ID('T', 'X', 'X', 'X')
|
|
||||||
static int
|
|
||||||
frame_id_matches(int id, int mask)
|
|
||||||
{
|
|
||||||
- int result = 0, i, window = 0xff;
|
|
||||||
+ int result = 0, i;
|
|
||||||
+ unsigned int window = 0xff;
|
|
||||||
for (i = 0; i < 4; ++i, window <<= 8) {
|
|
||||||
int const mw = (mask & window);
|
|
||||||
int const iw = (id & window);
|
|
||||||
diff --git a/libmp3lame/quantize.c b/libmp3lame/quantize.c
|
|
||||||
index 9ba9c16..1417763 100644
|
|
||||||
--- a/libmp3lame/quantize.c
|
|
||||||
+++ b/libmp3lame/quantize.c
|
|
||||||
@@ -895,7 +895,7 @@ inc_subblock_gain(const lame_internal_flags * const gfc, gr_info * const cod_inf
|
|
||||||
|
|
||||||
scalefac[sfb] = 0;
|
|
||||||
{
|
|
||||||
- int const gain = 210 + (s << (cod_info->scalefac_scale + 1));
|
|
||||||
+ int const gain = 210 + (int)((unsigned int)s << (cod_info->scalefac_scale + 1));
|
|
||||||
amp = IPOW20(gain);
|
|
||||||
}
|
|
||||||
j += width * (window + 1);
|
|
||||||
--
|
|
||||||
2.23.0
|
|
||||||
|
|
||||||
@ -1,54 +0,0 @@
|
|||||||
diff -Nuar lame-3.100.org/configure lame-3.100.sw/configure
|
|
||||||
--- lame-3.100.org/configure 2022-05-26 15:39:59.220000000 +0000
|
|
||||||
+++ lame-3.100.sw/configure 2022-05-26 15:46:24.500000000 +0000
|
|
||||||
@@ -17507,7 +17507,7 @@
|
|
||||||
*86)
|
|
||||||
OPTIMIZATION="${OPTIMIZATION} -mfancy-math-387"
|
|
||||||
;;
|
|
||||||
- alpha*)
|
|
||||||
+ alpha* | sw_64*)
|
|
||||||
OPTIMIZATION="${OPTIMIZATION} -mfp-regs"
|
|
||||||
|
|
||||||
$as_echo "#define FLOAT double" >>confdefs.h
|
|
||||||
@@ -17670,7 +17670,7 @@
|
|
||||||
# LINUX on Digital/Compaq Alpha CPUs
|
|
||||||
##########################################################################
|
|
||||||
case $host in
|
|
||||||
-alpha*-*-linux*)
|
|
||||||
+alpha*-*-linux* | sw_64*-*-linux*)
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
#### Check if 'ccc' is in our path
|
|
||||||
diff -Nuar lame-3.100.org/libmp3lame/lame.c lame-3.100.sw/libmp3lame/lame.c
|
|
||||||
--- lame-3.100.org/libmp3lame/lame.c 2022-05-26 15:39:59.240000000 +0000
|
|
||||||
+++ lame-3.100.sw/libmp3lame/lame.c 2022-05-26 15:44:51.440000000 +0000
|
|
||||||
@@ -48,7 +48,7 @@
|
|
||||||
#include "tables.h"
|
|
||||||
|
|
||||||
|
|
||||||
-#if defined(__FreeBSD__) && !defined(__alpha__)
|
|
||||||
+#if defined(__FreeBSD__) && !defined(__alpha__) && !defined(__sw_64__)
|
|
||||||
#include <floatingpoint.h>
|
|
||||||
#endif
|
|
||||||
#ifdef __riscos__
|
|
||||||
diff -Nuar lame-3.100.org/libmp3lame/util.c lame-3.100.sw/libmp3lame/util.c
|
|
||||||
--- lame-3.100.org/libmp3lame/util.c 2022-05-26 15:39:59.240000000 +0000
|
|
||||||
+++ lame-3.100.sw/libmp3lame/util.c 2022-05-26 15:43:59.070000000 +0000
|
|
||||||
@@ -34,7 +34,7 @@
|
|
||||||
#include "tables.h"
|
|
||||||
|
|
||||||
#define PRECOMPUTE
|
|
||||||
-#if defined(__FreeBSD__) && !defined(__alpha__)
|
|
||||||
+#if defined(__FreeBSD__) && !defined(__alpha__) && !defined(__sw_64__)
|
|
||||||
# include <machine/floatingpoint.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -845,7 +845,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-#if defined(__FreeBSD__) && !defined(__alpha__)
|
|
||||||
+#if defined(__FreeBSD__) && !defined(__alpha__) && !defined(__sw_64__)
|
|
||||||
{
|
|
||||||
/* seet floating point mask to the Linux default */
|
|
||||||
fp_except_t mask;
|
|
||||||
Binary file not shown.
@ -1,77 +0,0 @@
|
|||||||
diff -up lame-398-2/libmp3lame/i386/choose_table.nas.noexec lame-398-2/libmp3lame/i386/choose_table.nas
|
|
||||||
--- lame-398-2/libmp3lame/i386/choose_table.nas.noexec 2008-08-31 14:28:37.000000000 +0200
|
|
||||||
+++ lame-398-2/libmp3lame/i386/choose_table.nas 2008-10-20 22:34:23.000000000 +0200
|
|
||||||
@@ -445,3 +445,7 @@ from2:
|
|
||||||
ret
|
|
||||||
|
|
||||||
end
|
|
||||||
+
|
|
||||||
+%ifidn __OUTPUT_FORMAT__,elf
|
|
||||||
+section .note.GNU-stack noalloc noexec nowrite progbits
|
|
||||||
+%endif
|
|
||||||
diff -up lame-398-2/libmp3lame/i386/cpu_feat.nas.noexec lame-398-2/libmp3lame/i386/cpu_feat.nas
|
|
||||||
--- lame-398-2/libmp3lame/i386/cpu_feat.nas.noexec 2003-11-10 16:41:00.000000000 +0100
|
|
||||||
+++ lame-398-2/libmp3lame/i386/cpu_feat.nas 2008-10-20 22:34:23.000000000 +0200
|
|
||||||
@@ -105,3 +105,7 @@ return0:
|
|
||||||
ret
|
|
||||||
|
|
||||||
end
|
|
||||||
+
|
|
||||||
+%ifidn __OUTPUT_FORMAT__,elf
|
|
||||||
+section .note.GNU-stack noalloc noexec nowrite progbits
|
|
||||||
+%endif
|
|
||||||
diff -up lame-398-2/libmp3lame/i386/fft3dn.nas.noexec lame-398-2/libmp3lame/i386/fft3dn.nas
|
|
||||||
--- lame-398-2/libmp3lame/i386/fft3dn.nas.noexec 2008-08-31 14:28:37.000000000 +0200
|
|
||||||
+++ lame-398-2/libmp3lame/i386/fft3dn.nas 2008-10-20 22:34:23.000000000 +0200
|
|
||||||
@@ -486,3 +486,7 @@ proc fht_E3DN
|
|
||||||
add esp,20
|
|
||||||
popd ebp, ebx, esi, edi
|
|
||||||
endproc
|
|
||||||
+
|
|
||||||
+%ifidn __OUTPUT_FORMAT__,elf
|
|
||||||
+section .note.GNU-stack noalloc noexec nowrite progbits
|
|
||||||
+%endif
|
|
||||||
diff -up lame-398-2/libmp3lame/i386/fftfpu.nas.noexec lame-398-2/libmp3lame/i386/fftfpu.nas
|
|
||||||
--- lame-398-2/libmp3lame/i386/fftfpu.nas.noexec 2000-10-04 14:13:26.000000000 +0200
|
|
||||||
+++ lame-398-2/libmp3lame/i386/fftfpu.nas 2008-10-20 22:34:23.000000000 +0200
|
|
||||||
@@ -617,3 +617,7 @@ fht_FPU_FXCH_3rd_part:
|
|
||||||
endproc
|
|
||||||
|
|
||||||
end
|
|
||||||
+
|
|
||||||
+%ifidn __OUTPUT_FORMAT__,elf
|
|
||||||
+section .note.GNU-stack noalloc noexec nowrite progbits
|
|
||||||
+%endif
|
|
||||||
diff -up lame-398-2/libmp3lame/i386/fft.nas.noexec lame-398-2/libmp3lame/i386/fft.nas
|
|
||||||
--- lame-398-2/libmp3lame/i386/fft.nas.noexec 2000-10-04 14:13:26.000000000 +0200
|
|
||||||
+++ lame-398-2/libmp3lame/i386/fft.nas 2008-10-20 22:34:23.000000000 +0200
|
|
||||||
@@ -265,3 +265,7 @@ fht_3DN:
|
|
||||||
pop esi
|
|
||||||
pop ebx
|
|
||||||
ret
|
|
||||||
+
|
|
||||||
+%ifidn __OUTPUT_FORMAT__,elf
|
|
||||||
+section .note.GNU-stack noalloc noexec nowrite progbits
|
|
||||||
+%endif
|
|
||||||
diff -up lame-398-2/libmp3lame/i386/fftsse.nas.noexec lame-398-2/libmp3lame/i386/fftsse.nas
|
|
||||||
--- lame-398-2/libmp3lame/i386/fftsse.nas.noexec 2008-08-31 14:28:37.000000000 +0200
|
|
||||||
+++ lame-398-2/libmp3lame/i386/fftsse.nas 2008-10-20 22:34:23.000000000 +0200
|
|
||||||
@@ -420,3 +420,7 @@ fht_SSE:
|
|
||||||
ret
|
|
||||||
|
|
||||||
end
|
|
||||||
+
|
|
||||||
+%ifidn __OUTPUT_FORMAT__,elf
|
|
||||||
+section .note.GNU-stack noalloc noexec nowrite progbits
|
|
||||||
+%endif
|
|
||||||
diff -up lame-398-2/libmp3lame/i386/ffttbl.nas.noexec lame-398-2/libmp3lame/i386/ffttbl.nas
|
|
||||||
--- lame-398-2/libmp3lame/i386/ffttbl.nas.noexec 2000-10-04 14:13:26.000000000 +0200
|
|
||||||
+++ lame-398-2/libmp3lame/i386/ffttbl.nas 2008-10-20 22:34:23.000000000 +0200
|
|
||||||
@@ -76,3 +76,7 @@ gray_index:
|
|
||||||
segment_code
|
|
||||||
|
|
||||||
end
|
|
||||||
+
|
|
||||||
+%ifidn __OUTPUT_FORMAT__,elf
|
|
||||||
+section .note.GNU-stack noalloc noexec nowrite progbits
|
|
||||||
+%endif
|
|
||||||
98
lame.spec
98
lame.spec
@ -1,98 +0,0 @@
|
|||||||
Name: lame
|
|
||||||
Version: 3.100
|
|
||||||
Release: 10
|
|
||||||
Summary: Free MP3 audio compressor
|
|
||||||
License: GPL-2.0+ and GPL-2.0 and LGPL-2.0
|
|
||||||
URL: http://lame.sourceforge.net/
|
|
||||||
Source0: http://downloads.sourceforge.net/sourceforge/lame/%{name}-%{version}.tar.gz
|
|
||||||
Patch0001: lame-noexecstack.patch
|
|
||||||
Patch0002: libmp3lame-symbols.patch
|
|
||||||
Patch0003: 0001-fix-fuzz-undefined-behavior-error.patch
|
|
||||||
Patch0004: lame-3.100-sw.patch
|
|
||||||
|
|
||||||
BuildRequires: ncurses-devel gtk+-devel gcc
|
|
||||||
|
|
||||||
Provides: %{name}-libs = %{version}-%{release}
|
|
||||||
Obsoletes: %{name}-libs < %{version}-%{release}
|
|
||||||
|
|
||||||
%description
|
|
||||||
LAME is a high quality MPEG Audio Layer III (MP3) encoder.
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development files for lame
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
The lame-devel package contains development files for lame.
|
|
||||||
|
|
||||||
%package help
|
|
||||||
Summary: man info for lame
|
|
||||||
|
|
||||||
%description help
|
|
||||||
The lame-help Package contains man info for lame.
|
|
||||||
|
|
||||||
%package mp3x
|
|
||||||
Summary: MP3 frame analyzer
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description mp3x
|
|
||||||
The lame-mp3x package contains the mp3x frame analyzer.
|
|
||||||
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%autosetup -p1
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
|
||||||
sed -i -e 's/^\(\s*hardcode_libdir_flag_spec\s*=\).*/\1/' configure
|
|
||||||
%configure \
|
|
||||||
--disable-dependency-tracking --disable-static --enable-mp3x --enable-mp3rtp
|
|
||||||
%make_build
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
|
||||||
%make_install
|
|
||||||
%delete_la
|
|
||||||
ln -sf lame/lame.h %{buildroot}%{_includedir}/lame.h
|
|
||||||
|
|
||||||
|
|
||||||
%check
|
|
||||||
make test
|
|
||||||
|
|
||||||
%post
|
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%postun
|
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
|
|
||||||
%files
|
|
||||||
%exclude %{_docdir}/%{name}
|
|
||||||
%doc README TODO USAGE doc/html/*.html ChangeLog COPYING LICENSE
|
|
||||||
%{_bindir}/{lame,mp3rtp}
|
|
||||||
%{_libdir}/libmp3lame.so.0*
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%exclude %{_docdir}/%{name}
|
|
||||||
%doc API HACKING STYLEGUIDE
|
|
||||||
%{_libdir}/libmp3lame.so
|
|
||||||
%{_includedir}/{lame,lame.h}
|
|
||||||
|
|
||||||
%files help
|
|
||||||
%{_mandir}/man1/lame.1*
|
|
||||||
|
|
||||||
%files mp3x
|
|
||||||
%{_bindir}/mp3x
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Fri Oct 21 2022 wuzx<wuzx1226@qq.com> - 3.100-10
|
|
||||||
- add sw64 patch
|
|
||||||
|
|
||||||
* Thu Jun 03 2021 wulei <wulei80@huawei.com> - 3.100-9
|
|
||||||
- fixes failed: no acceptable C compiler found in $PATH
|
|
||||||
|
|
||||||
* Sat Dec 05 2020 Ge Wang<wangge20@huawei.com> - 3.100-8
|
|
||||||
- fix fuzz undefined bebavior error
|
|
||||||
|
|
||||||
* Thu Dec 12 2019 zoushuangshuang<zoushuangshuang@huawei.com> - 3.100-7
|
|
||||||
- Package init
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
version_control: svn
|
|
||||||
src_repo: https://svn.code.sf.net/p/lame/svn/trunk/lame
|
|
||||||
tag_prefix: RELEASE_
|
|
||||||
seperator: _
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
--- lame-3.100/include/libmp3lame.sym 2017-09-06 14:33:35.000000000 -0500
|
|
||||||
+++ lame-3.100/include/libmp3lame.sym 2017-10-22 16:18:44.708436200 -0500
|
|
||||||
@@ -1,5 +1,4 @@
|
|
||||||
lame_init
|
|
||||||
-lame_init_old
|
|
||||||
lame_set_num_samples
|
|
||||||
lame_get_num_samples
|
|
||||||
lame_set_in_samplerate
|
|
||||||
@@ -188,6 +187,7 @@ hip_decode_exit
|
|
||||||
hip_set_errorf
|
|
||||||
hip_set_debugf
|
|
||||||
hip_set_msgf
|
|
||||||
+hip_set_pinfo
|
|
||||||
hip_decode
|
|
||||||
hip_decode_headers
|
|
||||||
hip_decode1
|
|
||||||
Loading…
x
Reference in New Issue
Block a user