Releases: ketiltrout/getdata
GetData-0.11.0
New in version 0.11.0:
Library Changes:
-
BUG FIX: When using a bzipped
/REFERENCE
field, mixinggd_nframes()
calls with reads of data from that field no longer results in
subsequent reads to occur in the wrong place. Reported by Matthew
Petroff. -
BUG FIX FOR CVE-2021-20204: The first RAW field in a Dirfile having
the same name as a previously defined field no longer results in a
segmentation fault when trying to access the Dirifle's reference
field.By default, the parser will return a syntax error (
GD_E_FORMAT
)
when encountering a duplicate field name, making theDIRFILE
invalid and avoiding the segmentation fault. To trigger the
segmentation fault, the standardGD_E_FORMAT
error return
must be avoided, by doing one of the following:- The
GD_IGNORE_DUPS
flag must be used when invoking the format
file parser. This stops the parser from generating an error
when discarding out the duplicate field. - A caller-supplied parser callback must return
GD_SYNTAX_IGNORE
when passed theGD_E_FORMAT
error generated by the duplicate
field. (This is what happens in thecheckdirfile
utility,
which is why it is affected by this bug.)
- The
API Changes:
-
A new function
gd_open_limit()
can be used to limit the number of
open file descriptors used by the library to access RAW data in
a givenDIRFILE
. GetData will try to keep under the limit by
automatically closing RAW fields when necessary. Note: the
library may exceed the limit in certain cases. See the man
page for full details. -
A number of symbols, which were deprecated in GetData-0.8,
have been removed. This removal extends to the corresponding
symbols in the bindings. The removed symbols, and their
replacements, are:Removed symbol Replacement GD_FLOAT
GD_FLOAT32
GD_DOUBLE
GD_FLOAT64
GD_E_BAD_ENDIANNESS
GD_E_ARGUMENT
GD_E_BAD_PROTECTION
GD_E_ARGUMENT
GD_E_BAD_VERSION
GD_E_ARGUMENT
GD_E_FORMAT_NO_PARENT
GD_E_FORMAT_NO_FIELD
gd_bit_t
int
gd_spf_t
unsigned int
NOTE: The Python bindings have a different
FLOAT
type alias which
corresponds to the native float type in Python. That symbol is
not deprecated and has not been removed. -
BUG FIX: Lingering references to the type
gd_shift_t
, which was
deprecated in GetData-0.10.0 and replaced bygd_int64_t
, have been
removed from the API.
Bindings Changes:
- PYTHON BUG FIX: When
first_sample
is non-zero, and neithernum_frames
nornum_samples
is indicateddirfile.getdata()
no longer attempts to
read past the end of the data file. Patch from Matthew Petroff.
Miscellaneous
-
Running
make clean
no longer accidentally deletes most of the man pages
from theman/
subdirectory. -
New options
--with-pcre
and--without-pcre
have been added to ./configure
to adjust how the PCRE library is (or is not) used. -
Modules now link to the main getdata library to avoid the potential for
symbol look-up errors on load. Reported by Matthew Petroff.