[gtkwave] Add upstream patch for #690920
Paul Howarth
pghmcfc at fedoraproject.org
Tue Mar 29 09:43:42 UTC 2011
commit 2e8f1fe025f706d90c3628c7e3f081987a629ac0
Author: Paul Howarth <paul at city-fan.org>
Date: Tue Mar 29 10:42:21 2011 +0100
Add upstream patch for #690920
- Tentative upstream fix for crash when reading malformed LXT file (#690920)
- Nobody else likes macros for commands
gtkwave-3.3.20-bz690920.patch | 35 +++++++++++++++++++++++++++++++++++
gtkwave.spec | 34 +++++++++++++++++++++-------------
2 files changed, 56 insertions(+), 13 deletions(-)
---
diff --git a/gtkwave-3.3.20-bz690920.patch b/gtkwave-3.3.20-bz690920.patch
new file mode 100644
index 0000000..42c3d76
--- /dev/null
+++ b/gtkwave-3.3.20-bz690920.patch
@@ -0,0 +1,35 @@
+Index: gtkwave3/src/helpers/lxt2_read.c
+===================================================================
+--- gtkwave3/src/helpers/lxt2_read.c (revision 1)
++++ gtkwave3/src/helpers/lxt2_read.c (revision 27)
+@@ -1507,8 +1507,8 @@
+ off_t fspos = b->filepos;
+ int rc;
+
+- char *zbuff=NULL;
+- int zlen = 0;
++ int zlen = 16;
++ char *zbuff=malloc(zlen);
+ struct z_stream_s strm;
+
+ real_uncompressed_siz = b->uncompressed_siz;
+@@ -1544,11 +1544,15 @@
+ strm.next_in = (unsigned char *)(zbuff+10);
+ strm.next_out = (unsigned char *)(pnt);
+
+- rc = inflateInit2(&strm, -MAX_WBITS);
+- while (Z_OK == (rc = inflate(&strm, Z_NO_FLUSH)));
+- rc = inflateEnd(&strm);
+- if(strm.total_out!=unclen)
++ if((clen != 0)&&(unclen != 0))
+ {
++ rc = inflateInit2(&strm, -MAX_WBITS);
++ while (Z_OK == (rc = inflate(&strm, Z_NO_FLUSH)));
++ rc = inflateEnd(&strm);
++ }
++
++ if((strm.total_out!=unclen)||(clen == 0)||(unclen == 0))
++ {
+ fprintf(stderr, LXT2_RDLOAD"short read on subblock %ld vs "LXT2_RD_LD" (exp), ignoring\n", strm.total_out, unclen);
+ free(b->mem); b->mem=NULL;
+ b->short_read_ignore = 1;
diff --git a/gtkwave.spec b/gtkwave.spec
index 1bf8003..fadcf8f 100644
--- a/gtkwave.spec
+++ b/gtkwave.spec
@@ -6,16 +6,17 @@
Summary: Waveform Viewer
Name: gtkwave
Version: 3.3.20
-Release: %{?prerel:0.}1%{?prerel:.%{prerel}}%{?dist}
+Release: %{?prerel:0.}2%{?prerel:.%{prerel}}%{?dist}
License: GPLv2+
Group: Applications/Engineering
URL: http://gtkwave.sourceforge.net/
Source0: http://gtkwave.sourceforge.net/gtkwave-%{version}%{?prerel}.tar.gz
+Patch0: gtkwave-3.3.20-bz690920.patch
Source1: gtkwave.desktop
Source2: gtkwave-16.png
Source3: gtkwave-32.png
Source4: gtkwave-48.png
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -nu)
BuildRequires: gtk2-devel, bzip2-devel, Judy-devel, xz-devel, zlib-devel
BuildRequires: gperf, flex, desktop-file-utils
%if 0%{?fedora} > 1 || 0%{?rhel} > 3
@@ -33,7 +34,10 @@ tools.
%prep
%setup -q -n gtkwave-%{version}%{?prerel}
-%{__cp} -p .gtkwaverc gtkwaverc.sample
+cp -p .gtkwaverc gtkwaverc.sample
+
+# Tentative upstream fix for crash when reading malformed LXT file (#690920)
+%patch0 -p1
%build
%{configure} --disable-dependency-tracking \
@@ -41,20 +45,20 @@ tools.
--disable-tcl \
%endif
--enable-judy
-%{__make} %{?_smp_mflags}
+make %{?_smp_mflags}
%install
-%{__rm} -rf %{buildroot}
-%{__make} install \
+rm -rf %{buildroot}
+make install \
DESTDIR=%{buildroot} \
pkgdatadir=%{_docdir}/gtkwave-%{version} \
- INSTALL="%{__install} -p"
+ INSTALL="install -p"
# Icons and desktop entry
-/usr/bin/desktop-file-install --vendor "" --dir %{buildroot}%{_datadir}/applications %{SOURCE1}
-%{__install} -D -m 644 -p %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/gtkwave.png
-%{__install} -D -m 644 -p %{SOURCE3} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/gtkwave.png
-%{__install} -D -m 644 -p %{SOURCE4} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/gtkwave.png
+desktop-file-install --vendor "" --dir %{buildroot}%{_datadir}/applications %{SOURCE1}
+install -D -m 644 -p %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/gtkwave.png
+install -D -m 644 -p %{SOURCE3} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/gtkwave.png
+install -D -m 644 -p %{SOURCE4} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/gtkwave.png
# Include extra docs
for extradoc in \
@@ -66,11 +70,11 @@ for extradoc in \
MIT.TXT \
SYSTEMVERILOG_README.TXT
do
- %{__install} -p -m 644 ${extradoc} %{buildroot}%{_docdir}/gtkwave-%{version}/
+ install -p -m 644 ${extradoc} %{buildroot}%{_docdir}/gtkwave-%{version}/
done
%clean
-%{__rm} -rf %{buildroot}
+rm -rf %{buildroot}
%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
@@ -130,6 +134,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_mandir}/man5/gtkwaverc.5*
%changelog
+* Tue Mar 29 2011 Paul Howarth <paul at city-fan.org> 3.3.20-2
+- tentative upstream fix for crash when reading malformed LXT file (#690920)
+- nobody else likes macros for commands
+
* Fri Feb 25 2011 Paul Howarth <paul at city-fan.org> 3.3.20-1
- update to 3.3.20
- fixed uninitialized mat variable in compress_facility()
More information about the scm-commits
mailing list