From 2e8f1fe025f706d90c3628c7e3f081987a629ac0 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Mar 29 2011 09:42:21 +0000 Subject: Add upstream patch for #690920 - Tentative upstream fix for crash when reading malformed LXT file (#690920) - Nobody else likes macros for commands --- 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 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 3.3.20-1 - update to 3.3.20 - fixed uninitialized mat variable in compress_facility()