forked from tbeu/matio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
277 lines (250 loc) · 14.2 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
Changes in 1.5.23 (31 March 2022)
* Updated cmake-conan to version 0.18.0
* Fixed testsuite (regression of v1.5.22)
Changes in 1.5.22 (25 March 2022)
* Added support for reading large MAT file
* Updated cmake-conan to version 0.17.0
* Fixed CMake build with Conan (MATIO_USE_CONAN:BOOL=ON)
* Fixed data type when reading 16-bit character data from HDF5 MAT file
* Fixed heap-based buffer overflows when reading (crafted) MAT file
(CVE-2020-36428, CVE-2021-36977)
* Confirmed compatibility with HDF5 v1.13.0 and v1.13.1
* Several other fixes, for example for memory leaks (CVE-2022-1515)
Changes in 1.5.21 (25 March 2021)
* Fixed: Avoid usage of strlen when creating MAT_T_UTF8 encoded character array
(regression of v1.5.20)
* Fixed reading of compression flag from HDF5 MAT file
Changes in 1.5.20 (21 March 2021)
* Added support for writing MAT_T_UTF8 encoded character array to HDF5 MAT file
(by conversion to UTF-16 if in BMP)
* Updated cmake-conan to version 0.16.1
* Fixed bug with size_t arguments of logging function calls
* Fixed bug reading past EOF from (crafted) MAT file
* Fixed bug writing MAT_T_UTF8 encoded character array to v5 MAT file
* Fixed printing of MAT_T_UTF8 encoded character array
* Several other fixes, for example for memory leaks
Changes in 1.5.19 (6 November 2020)
* Fixed support for CMake (>= v3.19.0) build system
* Fixed bug reading variable from v4 MAT file (regression of v1.5.18)
Changes in 1.5.18 (17 September 2020)
* Added support of HDF5 v1.12.x
* Added support for UTF-8 encoded file name on Windows (MSVC)
(requires HDF5 >= v1.11.6 for HDF5 MAT file)
* Added support for reading uncompressed v5 MAT file generated by SWAN
* Added error codes to public interface
* Added support for CMake build system
* Fixed read performance of numeric array from compressed v5 MAT file
* Fixed support for VS2005 and VS2008 (MSVC) (regression of v1.5.15)
* Fixed mktemp linker warning when using GNU linker
* Fixed bug writing struct array to uncompressed v5 MAT file on big endian
architecture (regression of v1.5.10)
* Fixed bug writing cell array to uncompressed v5 MAT file on big endian architecture
* Fixed bug reading variable name from v4 MAT file (CVE-2019-17533)
* Fixed bug reading variable name from (crafted) compressed v5 MAT file
(CVE-2020-19497)
* Fixed bug reading dimensions from (crafted) compressed v5 MAT file (CVE-2019-20017,
CVE-2019-20018, CVE-2019-20020, CVE-2019-20052)
Changes in 1.5.17 (18 July 2019)
* Fixed bug reading struct array with packed field names from v5 MAT file
* Fixed bug reading past EOF from (crafted) uncompressed v5 MAT file
Changes in 1.5.16 (25 June 2019)
* Fixed error handling on integer addition/multiplication overflows (CVE-2019-13107)
Changes in 1.5.15 (29 March 2019)
* Added new API function Mat_GetHeader to retrieve header string of a MAT file
* Fixed integer multiplication overflows when calculating total number of
elements from (crafted) MAT file
* Fixed bug reading character array from (compressed) v5 MAT file (regression
of v1.5.14)
* Fixed number of variables for repeated calls of Mat_GetDir
* Fixed memory leak in Mat_VarFree for function class
Changes in 1.5.14 (11 March 2019)
* Deprecated usage of Mat_VarWriteInfo/Mat_VarWriteData in favor of
Mat_VarWrite/Mat_VarWriteAppend
* Fixed bug reading dimensions from (crafted) compressed v5 MAT file (CVE-2019-9026,
CVE-2019-9027, CVE-2019-9028, CVE-2019-9029, CVE-2019-9030, CVE-2019-9031, CVE-2019-9032,
CVE-2019-9033, CVE-2019-9034, CVE-2019-9035, CVE-2019-9036, CVE-2019-9038)
* Fixed bug reading name (> 24 characters) from v5 MAT file (regression of v1.5.13)
* Fixed bug printing datatype in Mat_VarPrint (CVE-2019-9037)
Changes in 1.5.13 (22 October 2018)
* Fixed bug calculating size for zero-rank variables in Mat_VarGetSize
* Fixed bug reading dimensions from (crafted) v5 MAT file
* Fixed bug reading tag and class from (crafted) v5 MAT file
* Fixed integer multiplication overflows
* Fixed HDF5 compatibility in Mat_Open and Mat_Create for HDF5 > v1.10.1
Changes in 1.5.12 (7 March 2018)
* Updated Mat_VarWriteAppend: Added support to append a variable to a previously written
struct array in HDF5 MAT file
* Fixed bug reading MAT_T_UINT16 encoded character array from HDF5 MAT file
* Fixed bug reading MAT_T_UTF16 encoded character array from compressed v5 MAT file
* Fixed bug writing MAT_T_UTF16 encoded character array to HDF5 MAT file
* Fixed buffer overflow in Mat_VarGetCells/Mat_VarGetStructs
Changes in 1.5.11 (22 October 2017)
* Added new API function Mat_VarWriteAppend to append a numeric array to a
previously written variable in HDF5 MAT file
* Fixed bug calculating sizes of cell/struct array with empty cells/fields in Mat_VarGetSize
* Fixed bug writing cell/struct array with empty cells/fields to v5 MAT file
* Fixed bug writing cell/struct array with empty cells/fields to HDF5 MAT file
* Fixed read performance of cell/struct array with empty cells/fields from v5 MAT file
* Fixed read performance of numeric array from uncompressed v5 MAT file
* Fixed testsuite (if configured with the MATLAB application)
* Updated man pages
Changes in 1.5.10 (14 February 2017)
* Added new API function Mat_GetDir to retrieve all variable names of a MAT file
* Fixed performance of repeated calls to Mat_VarWrite (regression of v1.5.7)
* Fixed bugs reading (hyperslabs of) numeric array where the variable data type
differs from the desired output data type
* Increased testsuite coverage
Changes in 1.5.9 (22 October 2016)
* Fixed resource leak when reading character array from HDF5 MAT file
* Fixed bug writing struct to HDF5 MAT file: Mat_VarWrite never returned 0 on success
* Fixed bug writing sparse logical array to HDF5 MAT file
* Fixed bug calculating array sizes of struct, cell, complex and sparse array in Mat_VarGetSize
* Fixed bug duplicating sparse array with empty data in Mat_VarDuplicate
* Fixed segmentation fault when reading compressed v5 MAT file with opaque class
* Updated support of HDF5 v1.10.x: No longer depend on deprecated v1.8.x symbols
Changes in 1.5.8 (30 June 2016)
* Fixed bug writing array to v4 MAT file on big endian architecture (regression of v1.5.7)
Changes in 1.5.7 (22 June 2016)
* Added support for MAT_T_UTF16 when reading character array from v5 MAT file
* Added support of HDF5 v1.10.x (with deprecated v1.8.x symbols exported)
* Added warning on unsupported character data types when reading v5 MAT file
* Added error check if variable already exists when writing to MAT file
* Fixed support of custom log functions: Moved log levels to the public interface
* Fixed bug creating v4 and v5 MAT file: Open in write+update mode
* Fixed bug creating v5 and HDF5 MAT file: Set BOF marker to 128
* Fixed bug in Mat_VarDelete: Rewind file before looping over variables
* Fixed bug writing cell array with empty struct fields to compressed v5 MAT file
* Fixed bug reading empty character array from HDF5 MAT file
* Fixed bug iterating through links in a group of HDF5 MAT file
* Fixed bug iterating on #subsystem# group of HDF5 MAT file
* Fixed compilation out of source directory
* Fixed C++ compilation on MinGW
* Restructured testsuite
* Fixed testsuite if hdf5 dependency is missing
* Increased testsuite coverage
* Various fixes for variable scopes that cause compilers to issue diagnostics
Changes in 1.5.6 (23 February 2016)
* Fixed bug writing array to v4 MAT file on big endian architecture
* Fixed bug writing header with more than 127 characters to v5 or HDF5 MAT file
Changes in 1.5.5 (19 February 2016)
* Added support of reading sparse array from v4 MAT file
* Added support of writing sparse array to v4 MAT file
* Added support of writing character array to v4 MAT file
* Added support of autogen.sh on Darwin
* Added missing Visual Studio project files for test_mat
* Added missing Visual Studio resource file
* Enabled C++ compilation
* Updated snprintf.c to C99 snprintf v1.1
* Increased testsuite coverage
* Fixed bug writing complex array to v4 MAT file
* Fixed bug writing cell containing a struct with fields but empty array to compressed v5 MAT file
* Fixed bug reading hyperslabs of cells and struct fields from compressed v5 MAT file (regression of v1.5.3)
* Fixed bug writing empty character array to uncompressed v5 MAT file
* Fixed bug reading cells and struct fields from HDF5 MAT file
* Fixed bug printing array dimensions in Mat_VarPrint on MinGW
* Fixed bug calculating array sizes of structs in Mat_VarGetSize
* Fixed bug duplicating sparse array in Mat_VarDuplicate
* Fixed testsuite if zlib/hdf5 dependencies are missing
* Several other fixes, especially for memory leaks
Changes in 1.5.3 (11 January 2016)
* Added support for writing numeric array to v4 MAT file
* Added Visual Studio project for test_mat
* Added new API functions Mat_CalcSingleSubscript2 and Mat_CalcSubscripts2 that
work on size_t type
* Fixed memory consumption reading compressed v5 MAT file
* Fixed bug writing compressed v5 MAT file
* Fixed bug in Mat_VarReadNextInfo5 where freed variable was not set to NULL
* Fixed several bugs in Mat_VarDelete
* Fixed bug writing empty struct to HDF5 MAT file
* Fixed bug writing character array to HDF5 MAT file
* Fixed bug writing character array to compressed v5 MAT file
* Updated Visual Studio solution and project files to work with newer HDF5 and
Visual Studio versions
* Various fixes for unused variables, unnecessary initializations, etc. that
cause compilers to issue diagnostics
* Several other fixes, especially for memory leaks
Changes in 1.5.2 (31 July 2013)
* Added support for linear data read for v4 and HDF5 MAT file
* Fixed bug reading slices of variables in matdump
* Fixed feof calls so they compile on platforms that dereference the argument in a macro
* More robust checking that file is MAT file and eliminates some segmentation faults
* Various fixes for unused variables, unnecessary initializations, etc. that
cause compilers to issue diagnostics
* Several other fixes
Changes in 1.5.1 (10 March 2013)
* Fixed bug writing compressed HDF5 file
* Fixed bug reading cell array elements written with a non-empty variable name
* Fixed bug writing complex sparse matrices as struct fields or cell elements to
uncompressed v5 MAT file
* Fixed a number of potential issues identified via static analysis
* Fixed uninitialized pointers when creating structures through
Mat_VarCreateStruct, and fix a bug in the struct API testsuite
* Fixed extended sparse support in v7.3 MAT file
* Added 64-bit integer support for v5 MAT file
* Added missing support for reading hyperslabs from HDF5 MAT file
* Added variable indexing notation support to matdump to display subsets of
variables
* Added tests for extended sparse support in testsuite
* Added missing enumerations or default case in switch statements
Changes in 1.5.0 (15 April 2012)
* Changed licensing from the GNU Lesser General Public License to the BSD-2-Clause License
* Added support for reading/writing HDF5 MAT file
* Bug fixes for compressed variables that caused issues with matio reading them
* Upgraded dimensions in matvar_t structure to size_t enabling support for large arrays
* Added a testsuite
Changes in 1.3.2 (28 October 2006)
* Added support for writing compressed character classes, structures, cell arrays, and sparse arrays
* Added some tests to the test_mat program: write_compressed_cell, write_compressed_sparse
* Added 64-bit signed/unsigned integer support
* Fixed bugs in reading slabs of N-dimensional data
Changes in 1.3.1 (7 September 2006)
* Added some internal documentation to the library
* Defined two documentation groups public and internal
* Disabled the building of test programs by default and added a configure option to build them
* Fixed installation path of data and documentation
* Fixed bugs where file pointers were left open if allocating memory failed in Mat_Open and Mat_Create
Changes in 1.3.0 (30 June 2006)
* Cleaned out matio.h and made most preprocessor define's into enum's
* Moved complex arrays from single pointer with real part followed by imaginary
part to a struct with a pointer to the real part and a pointer to the
imaginary part (Previous implementation was just plain ignorant)
* Changed v4 MAT file code from MAT_V4 to MAT_FT_MAT4 to match the v5 identifier
* Added function Mat_VarCalloc to allocate and initialize all fields of the
matvar_t structure
Bug Fixes in 1.3.0 (30 June 2006)
* WriteCompressedData did not initialize the data tag (data_tag variable)
* WriteStructField wrote the array name tag as a 2 byte integer followed by 2
padding bytes. Correct implementation writes the array name tag as a 4 byte
integer.
* Write5 wrote the array name tag as a 2 byte integer followed by 2
padding bytes when the name was more than 4 characters. Correct
implementation writes the array name tag as a 4 byte integer.
* Write5 had a hard-coded uncompressed variable size of 448 when writing
compressed data.
* WriteInfo5 wrote the array name tag as a 2 byte integer followed by 2
padding bytes when the name was more than 4 characters. Correct
implementation writes the array name tag as a 4 byte integer.
* Mat_Create wrote the endian sequence incorrectly.
* Mat_VarCreate set the number of bytes incorrectly for structures.
* Mat_VarCreate fixed the data size of the character class to 1. That didn't
allow for multi-byte characters.
Changes in 1.1.6 (20 March 2006)
* Added sparse class to compressed variable
Bug Fixes in 1.1.6 (20 March 2006)
* Fixed release bug in reading double class data
* Fixed various compressed variable writing bugs
* Fixed a bug in Mat_VarCreate for sparse variables
Changes in 1.1.4 (9 February 2006)
* Changed licensing from the GNU General Public License to the GNU Lesser
General Public License
* Added support for reading numeric v4 MAT file
* Added support for sparse datatypes other than double. Although MATLAB does
not support these types, other free software does.
* Writing compressed variables is supported for numeric arrays. Future versions
will implement character, sparse, cell, and structure arrays.
* A Fortran 90/95 interface has been incorporated. Not all functions are
implemented yet, but more will come and it is at least functional now.
Hopefully feedback will help guide the Fortran interface development.
* Replaced preprocessor defines for types, classes, etc. with enum's.
Bug Fixes in 1.1.4 (9 January 2006)
* Mat_VarReadData did not handle complex data.