<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bzip2, branch bzip2-1.0.7</title>
<subtitle>A mirror of https://sourceware.org/git/bzip2.git
</subtitle>
<id>https://git.lua4.win/bzip2/atom?h=bzip2-1.0.7</id>
<link rel='self' href='https://git.lua4.win/bzip2/atom?h=bzip2-1.0.7'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/'/>
<updated>2019-06-27T18:10:07+00:00</updated>
<entry>
<title>Prepare for 1.0.7 release.</title>
<updated>2019-06-27T18:10:07+00:00</updated>
<author>
<name>Mark Wielaard</name>
<email>mark@klomp.org</email>
</author>
<published>2019-06-27T18:10:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/commit/?id=f319b98aade2a337c74b9a3b48c6daffb7809cda'/>
<id>urn:sha1:f319b98aade2a337c74b9a3b48c6daffb7809cda</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add prepare-release.sh script.</title>
<updated>2019-06-25T17:30:27+00:00</updated>
<author>
<name>Mark Wielaard</name>
<email>mark@klomp.org</email>
</author>
<published>2019-06-25T17:22:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/commit/?id=f1e937776c5f331e24cc63a9d8e7ae9445a76761'/>
<id>urn:sha1:f1e937776c5f331e24cc63a9d8e7ae9445a76761</id>
<content type='text'>
Script to run to prepare a new release.
It will update the release number and tell you to update the
CHANGES file and to double check everything looks before doing
the release commit and tagging.

Afterwards you probably want to run release-update.sh to upload
the release and update the website at https://sourceware.org/bzip2/

There are embedded version strings and dates in a couple of places.
To keep the script simple remove some that aren't absolutely necessary.

README now just points to CHANGES.
README.COMPILATION.PROBLEMS only mentions the version once at the top.
bzip2.c only mentions the version once when doing --version.
manual.xml now doesn't have any embedded versions, just uses &amp;bz-version;
everywhere.
</content>
</entry>
<entry>
<title>Change a magic number (6) for a constant (BZ_N_GROUPS).</title>
<updated>2019-06-24T13:41:58+00:00</updated>
<author>
<name>Federico Mena Quintero</name>
<email>federico@gnome.org</email>
</author>
<published>2019-05-29T22:14:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/commit/?id=ff986850159a1ea0c75617ffa792d1bb2069856e'/>
<id>urn:sha1:ff986850159a1ea0c75617ffa792d1bb2069856e</id>
<content type='text'>
decompress.c (BZ2_decompress): Check nGroups against BZ_N_GROUPS.
</content>
</entry>
<entry>
<title>Make sure nSelectors is not out of range</title>
<updated>2019-06-24T13:34:05+00:00</updated>
<author>
<name>Albert Astals Cid</name>
<email>aacid@kde.org</email>
</author>
<published>2019-05-28T17:35:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/commit/?id=7ed62bfb46e87a9e878712603469440e6882b184'/>
<id>urn:sha1:7ed62bfb46e87a9e878712603469440e6882b184</id>
<content type='text'>
nSelectors is used in a loop from 0 to nSelectors to access selectorMtf
which is
	UChar    selectorMtf[BZ_MAX_SELECTORS];
so if nSelectors is bigger than BZ_MAX_SELECTORS it'll do an invalid memory
access

Fixes out of bounds access discovered while fuzzying karchive

This was reported as CVE-2019-12900
BZ2_decompress in decompress.c in bzip2 through 1.0.6 has an
out-of-bounds write when there are many selectors.
</content>
</entry>
<entry>
<title>Fix undefined behavior in the macros SET_BH, CLEAR_BH, &amp; ISSET_BH</title>
<updated>2019-06-24T13:24:21+00:00</updated>
<author>
<name>Paul Kehrer</name>
<email>paul.l.kehrer@gmail.com</email>
</author>
<published>2019-06-08T14:06:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/commit/?id=16f2c753f9959e8d7c7e1fa771b8ccc5821427aa'/>
<id>urn:sha1:16f2c753f9959e8d7c7e1fa771b8ccc5821427aa</id>
<content type='text'>
These macros contain this pattern:
1 &lt;&lt; ((Int32_value) &amp; 31

This causes the undefined behavior sanitizers in clang and gcc to
complain because the shift, while ultimately stored to an unsigned
variable, is done as a signed value. Adding a cast to unsigned for
the int32 value resolves this issue.
</content>
</entry>
<entry>
<title>bzip2: Fix return value when combining --test,-t and -q.</title>
<updated>2019-06-24T07:31:16+00:00</updated>
<author>
<name>Mark Wielaard</name>
<email>mark@klomp.org</email>
</author>
<published>2019-06-24T07:31:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/commit/?id=f51f164df0e8a2c0e055174b328b4038a040e547'/>
<id>urn:sha1:f51f164df0e8a2c0e055174b328b4038a040e547</id>
<content type='text'>
When passing -q to get quiet output --test would not display an error
message, but would also suppress the exit 2 code to indicate the file
was corrupt. Only suppress the error message with -q, not the exit value.

This patch comes from Debian.
"bunzip2 -qt returns 0 for corrupt archives"
https://bugs.debian.org/279025
</content>
</entry>
<entry>
<title>bzip2recover: Fix use after free issue with outFile.</title>
<updated>2019-06-23T22:58:47+00:00</updated>
<author>
<name>Mark Wielaard</name>
<email>mark@klomp.org</email>
</author>
<published>2019-06-23T22:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/commit/?id=c1cdd98db3238cb711c7d9cdc5671452ce2822cb'/>
<id>urn:sha1:c1cdd98db3238cb711c7d9cdc5671452ce2822cb</id>
<content type='text'>
bzip2recover.c (main): Make sure to set outFile to NULL when done.

This was reported as CVE-2016-3189 and found in multiple distributions.
https://seclists.org/oss-sec/2016/q2/568

Some more analysis can be found in:
https://bugzilla.redhat.com/show_bug.cgi?id=1319648
</content>
</entry>
<entry>
<title>bzip2recover: Fix buffer overflow for large argv[0].</title>
<updated>2019-06-23T22:14:06+00:00</updated>
<author>
<name>Mark Wielaard</name>
<email>mark@klomp.org</email>
</author>
<published>2019-06-23T22:14:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/commit/?id=833548edc0eb4af85ce8da193835f0f31a6c300f'/>
<id>urn:sha1:833548edc0eb4af85ce8da193835f0f31a6c300f</id>
<content type='text'>
bzip2recover.c (main) copies argv[0] to a statically sized buffer
without checking whether argv[0] might be too big (&gt; 2000 chars).

This patch comes from Fedora and was originally reported at
https://bugzilla.redhat.com/show_bug.cgi?id=226979
</content>
</entry>
<entry>
<title>bzip2.c (testStream): Remove set, but not used nread variable.</title>
<updated>2019-06-23T21:52:03+00:00</updated>
<author>
<name>Mark Wielaard</name>
<email>mark@klomp.org</email>
</author>
<published>2019-06-23T21:52:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/commit/?id=02fe3ca2349e45eee6dff6ca46bf9a9187f382c5'/>
<id>urn:sha1:02fe3ca2349e45eee6dff6ca46bf9a9187f382c5</id>
<content type='text'>
Modern GCC warns:

bzip2.c: In function ‘testStream’:
bzip2.c:557:37: warning: variable ‘nread’ set but not used
[-Wunused-but-set-variable]
    Int32   bzerr, bzerr_dummy, ret, nread, streamNo, i;
                                     ^~~~~

GCC is correct. In testStream we don't care about the number of bytes
read by BZ2_bzRead. So just remove the variable and the assignment.
</content>
</entry>
<entry>
<title>Add release-update.sh script.</title>
<updated>2019-06-23T20:18:58+00:00</updated>
<author>
<name>Mark Wielaard</name>
<email>mark@klomp.org</email>
</author>
<published>2019-06-23T20:18:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/bzip2/commit/?id=32db5b677a55fc32de6588deae2ac27c28728a05'/>
<id>urn:sha1:32db5b677a55fc32de6588deae2ac27c28728a05</id>
<content type='text'>
Script to run after a release has been tagged, signed and pushed
to git.  Will do a fresh checkout, verify the git tag, do fresh
build/dist, sign the dist with gpg, create a backup copy in HOME,
upload the tar.gz and sig to sourceware, checkout bzip2-htdocs,
copy over the new changes, manual, etc. and git push that to update
https://sourceware.org/bzip2/
</content>
</entry>
</feed>
