| Age | Commit message (Collapse) | Author | Files | Lines |
|
Handle both file sizes larger than SIZE_MAX and allocation
failures when reading the data of a tarmember.
If using the go() function with a callback, pass None as the data
parameter for files that are too large. For extractdata, raise
a MemoryError if the file too extract is too large.
Also check for an existing error first in extractdata, before
raising a new one.
Test the whole thing on 32-bit platforms with a sample deb that
contains a zeroed file that is 5GB large (compressed using xz
at level 1 to a few kb).
|
|
The pkgDirStream::Process() signature has changed in apt and is
using a long long now for Size and Pos.
|
|
|
|
|
|
|
|
This fix is large, but simple in concept. Instead of relying
on Py_BuildValue and type signatures, or type-specific
conversion functions, create a new set of overloaded
MkPyNumber() functions that automatically do the right
thing for each numerical type.
|
|
|
|
|
|
|
|
outside of the callback function passed to go().
|
|
- When extracting, only allocate a new buffer if the old one was too small.
- Do not segfault if TarFile.go() is called without a member name.
|
|
This works by enhancing PyDirStream to support handling only one member,
making the PyObjects for the current member instance variables and after
calling TarFile.Go() return the value of 'py_data'.
|
|
|