<feed xmlns='http://www.w3.org/2005/Atom'>
<title>squashfs-tools-ng.git/lib, branch fixes-1.1.0</title>
<subtitle>A new set of tools and libraries for working with SquashFS images</subtitle>
<id>https://git.infraroot.at/squashfs-tools-ng.git/atom?h=fixes-1.1.0</id>
<link rel='self' href='https://git.infraroot.at/squashfs-tools-ng.git/atom?h=fixes-1.1.0'/>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/'/>
<updated>2022-12-01T17:46:52+00:00</updated>
<entry>
<title>libsqfs: Initialize the return value in sqfs_compressor_create</title>
<updated>2022-12-01T17:46:52+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-18T14:35:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=35170bc6adf5d140210bc26e8511cf1e1cdeb5db'/>
<id>urn:sha1:35170bc6adf5d140210bc26e8511cf1e1cdeb5db</id>
<content type='text'>
Initialize the output compressor pointer to NULL, so if the function
fails, the value is propperly initialized to a NULL pointer instead
of relying on the function user to initialize it.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>libsqfs: Fix an overzealous bounds check in the block processor</title>
<updated>2022-12-01T17:46:52+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-18T15:17:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=9ae118f7c68785e3854cf68baf3177a94b70e0d6'/>
<id>urn:sha1:9ae118f7c68785e3854cf68baf3177a94b70e0d6</id>
<content type='text'>
When (during fragment deduplication) a fragment block is read back
from disk and unpacked, it can happen that it is _exactly_ the
given block size. The bounds check did '&gt;=' instead of '&gt;' and
failed in that case with a "data corruption" error.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix typo in block count statistics</title>
<updated>2022-12-01T17:46:52+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-11-04T11:12:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=9016e9a453f46ab1e5b82ed7a297ecb0c8be763c'/>
<id>urn:sha1:9016e9a453f46ab1e5b82ed7a297ecb0c8be763c</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: update mempool accounting when freeing an object</title>
<updated>2022-12-01T17:46:52+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-10-25T13:58:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=a3b7a75370b218341bce534fa394edca6ac4a1c1'/>
<id>urn:sha1:a3b7a75370b218341bce534fa394edca6ac4a1c1</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: libfstree: double free in error path</title>
<updated>2022-08-19T16:54:24+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-08-19T16:54:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=b5477cf2abdd76e22d227bd3959c7150251fafc0'/>
<id>urn:sha1:b5477cf2abdd76e22d227bd3959c7150251fafc0</id>
<content type='text'>
If fstree_mknode fails, because the parent link count would overflow,
the function fails and cleans up behind it. The problem arises because
the function does this check *after* inserting the node in the parent
node, so it is later free'd again, when destroying the rest of the
tree.

This patch moves the insertion after the check to mitigate the problem.

Reported-by: Marvin Renich &lt;mrvn@renich.org&gt;
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: libfstree: actually use a full 32 bit hard link counter</title>
<updated>2022-08-19T16:47:52+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-07-08T15:08:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=ce3a783daaa9b8f50d71cb3ac108e39002358a1e'/>
<id>urn:sha1:ce3a783daaa9b8f50d71cb3ac108e39002358a1e</id>
<content type='text'>
The squashfs on-disk format uses 32 bit link counters, but the fstree
used 16 bit ones. Because the link count also includes child nodes,
this artificially limited the number of entries in a directory to ~64k
files.

This patch removes the limit by switching libfstree to 32 bit counters.

Reported-by: Marvin Renich &lt;mrvn@renich.org&gt;
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Update built-in zlib version</title>
<updated>2022-03-30T17:15:08+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-30T14:38:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=28385368ddc6ef50e444d53e873be667f467303a'/>
<id>urn:sha1:28385368ddc6ef50e444d53e873be667f467303a</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>More defensive programming in mem_pool_allocate</title>
<updated>2022-03-11T11:32:50+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-10T22:59:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=2a3f02fd36a9152bcafaa05bddebbdb4bd2f41e6'/>
<id>urn:sha1:2a3f02fd36a9152bcafaa05bddebbdb4bd2f41e6</id>
<content type='text'>
Abort and retry in situations that should logically _never_
_ever_ happen.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix: guard against potential overflow in file size calculation</title>
<updated>2022-03-10T22:31:54+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-10T22:30:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=82f83c9515aaf99d12f6aa101c4d7b7463850e8b'/>
<id>urn:sha1:82f83c9515aaf99d12f6aa101c4d7b7463850e8b</id>
<content type='text'>
The block_count is a size_t, so on 32 bit platforms the multiplication
might be truncated before the comparison with filesz.

On 64 bit platforms, it could potentially also overflow the 64 bit
bounds of the data type.

Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
<entry>
<title>Fix warning if __SIZEOF_INT128__ is not defined</title>
<updated>2022-03-10T22:16:53+00:00</updated>
<author>
<name>David Oberhollenzer</name>
<email>david.oberhollenzer@sigma-star.at</email>
</author>
<published>2022-03-10T22:16:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.infraroot.at/squashfs-tools-ng.git/commit/?id=fbccd0d022b1ffc3f648761406cb53a32e63deae'/>
<id>urn:sha1:fbccd0d022b1ffc3f648761406cb53a32e63deae</id>
<content type='text'>
Signed-off-by: David Oberhollenzer &lt;david.oberhollenzer@sigma-star.at&gt;
</content>
</entry>
</feed>
