Commit Graph

101 Commits

Author SHA1 Message Date
Sean McBride
35f1a90df7
Merge pull request #22149 from seanm:sprintf
Replaced sprintf with safer snprintf

* Straightforward replacement of sprintf with safer snprintf

* Trickier replacement of sprintf with safer snprintf

Some functions were changed to take another parameter: the size of the buffer, so that they can pass that size on to snprintf.
2022-06-25 06:48:22 +03:00
rogday
7daf84fb44 address security concerns in persistence 2022-04-14 22:18:00 +03:00
Alexander Alekhin
5ba9a089e1 core(persistence): avoid NULL pointer dereference 2022-01-18 04:56:43 +00:00
Smirnov Egor
b42623ff9d port base64 encoding from 3.4 2021-07-08 10:42:44 +03:00
Alexander Alekhin
4eac198270 core(persistence): fix types format handling, fix 16F support 2021-06-29 11:26:57 +00:00
Felix Gorschlüter
c996fd1c06 Small improvements to persistence-API doc 2020-11-20 10:49:51 +03:00
Alexander Alekhin
ffe0d50447 core(persistence): fix "use after free" bug
- do not store user-controlled "FileStorage" pointer
- store FileStorage::Impl pointer instead
2020-07-17 21:39:06 +00:00
Vadim Pisarevsky
4564b8a224
Merge pull request #17841 from vpisarev:fixed_fs_dtor
* fixed issue #17412

* Update test_io.cpp
2020-07-17 02:28:50 +00:00
Alexander Alekhin
673eb2b006 core(persistence): fix resource leaks - force closing files 2020-03-24 11:38:09 +00:00
Vadim Pisarevsky
3efa78311a
Merge pull request #16488 from vpisarev:filestorage_longlines
trying to fix handling file storages with extremely long lines

* trying to fix handling of file storages with extremely long lines: https://github.com/opencv/opencv/issues/11061

* * fixed errorneous pointer access in JSON parser.
* it's now crash-test time! temporarily set the initial parser buffer size to just 40 bytes. let's run all the test and check if the buffer is always correctly resized and handled

* fixed pointer use in JSON parser; added the proper test to catch this case

* fixed the test to make it more challenging. generate test json with
*
**
***
etc. shape
2020-02-11 18:46:15 +03:00
Alexander Smorkalov
bd6ab6d38e Implemented BASE64 support in cv::FileStorage parser. 2020-02-10 11:38:19 +03:00
Alexander Alekhin
dcf72e49e2 core(persistence): fix processing of multiple documents 2019-11-05 18:28:15 +03:00
TH3CHARLie
a165f55579 Merge pull request #15842 from TH3CHARLie:yaml-fix
* fix yaml parse

* add test for YAML parse multiple documents

* remove trailing whitespace in test
2019-11-04 16:27:48 +03:00
Alexander Alekhin
e2a5a6a05c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-25 18:32:44 +00:00
Alexander Alekhin
fcc69d5a60 core(test): fix check conditions 2019-09-22 11:28:41 +00:00
Alexander Alekhin
d4501f08b8 core(persistence): disable base64 tests due missing encoders 2019-07-16 15:37:58 +03:00
Alexander Alekhin
2df7736562 Merge branch 'core_fix_base64_packed_struct' 2019-07-16 15:35:43 +03:00
Alexander Alekhin
4ea8526e9f core(persistence): fix writeRaw() / readRaw() struct support
- writeRaw(): support structs
- readRaw(): 'len' is buffer limit in bytes (documentation is fixed)
2019-07-16 14:03:39 +03:00
Alexander Alekhin
c3b838b738 core(persistence): struct storage layout without alignment gaps 2019-07-15 21:37:20 +00:00
Dmitry Kurtaev
6c76c8f881 Add a test for FileNode::keys() 2018-11-12 13:38:18 +03:00
Dmitry Kurtaev
a7f30391d0 Add FileNode::keys() missed during refactoring 2018-11-12 13:34:01 +03:00
Matt Bennett
10e1c2b3cd Merge pull request #11935 from mattmyne:filestorage_matx
* Support for Matx read/write by FileStorage

* Only empty filestorage read now produces default Matx. Split Matx IO test into smaller units. Test checks for exception thrown if reading a Mat into a Matx of different size.
2018-11-09 20:05:59 +03:00
Vadim Pisarevsky
0f622206e4
completely new C++ persistence implementation (#13011)
* integrated the new C++ persistence; removed old persistence; most of OpenCV compiles fine! the tests have not been run yet

* fixed multiple bugs in the new C++ persistence

* fixed raw size of the parsed empty sequences

* [temporarily] excluded obsolete applications traincascade and createsamples from build

* fixed several compiler warnings and multiple test failures

* undo changes in cocoa window rendering (that was fixed in another PR)

* fixed more compile warnings and the remaining test failures (hopefully)

* trying to fix the last little warning
2018-11-02 00:27:06 +03:00
Maksim Shabunin
e0f524d3b7 Fixed several incorrect printf format specifiers 2018-09-24 11:31:40 +03:00
Pavel Rojtberg
d1c842cf29 core: fix printf warnings by using c++11 format 2018-09-24 11:31:40 +03:00
Alexander Alekhin
df8b057b44 avoid Ptr<> == NULL checks 2018-09-09 19:30:46 +00:00
Alexander Alekhin
8a3c394d6a don't use constructors for C API structures 2018-09-06 14:34:16 +03:00
Alexander Alekhin
703f79b757 tests: add "bigdata" tests 2018-05-15 15:56:26 +03:00
LaurentBerger
03eb463f1c Solves #11156 (#11160)
* Solves #11156

* Check file size for all file format. Disable APPEND if file is empty

* Add test for APPEND mode
2018-03-28 15:35:38 +03:00
Tomoaki Teshima
6a661e1e28 fix test error on VS2013 2018-02-18 09:29:38 +09:00
Alexander Alekhin
4a297a2443 ts: refactor OpenCV tests
- removed tr1 usage (dropped in C++17)
- moved includes of vector/map/iostream/limits into ts.hpp
- require opencv_test + anonymous namespace (added compile check)
- fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
- added missing license headers
2018-02-03 19:39:47 +00:00
Vadim Pisarevsky
7b701fee60 Merge pull request #10302 from alalek:issue_10254 2017-12-13 17:31:40 +00:00
Alexander Alekhin
9930076dc5 core(test): avoid filename duplicates in tests 2017-12-13 18:21:55 +03:00
Alexander Alekhin
825b14278e core: fix persistence with deprecated traits 2017-12-12 17:07:36 +03:00
Alexander Alekhin
0451629e22 core(persistence): resolve DMatch/KeyPoint problem 2017-08-31 19:35:48 +03:00
Vladislav Sovrasov
5e68b28ad3 core: fix file not closed when exception in FS 2017-08-07 21:03:59 +03:00
Vladislav Sovrasov
aa54acd54d core: add a test to reproduce #9312 2017-08-07 16:16:14 +03:00
dkurt
583b327523 Fix JSON booleans without quotes 2017-07-26 12:51:06 +03:00
dkurt
3515f6ec33 Missed NAMED bit of JSON nodes tag 2017-07-25 13:39:32 +03:00
Alexander Alekhin
5bc291937f test: FileStorage format regression test 2017-07-20 19:58:10 +03:00
Alexander Alekhin
04573615c5 Merge pull request #8671 from tomoaki0705:fixBuildVS2012sprintf 2017-04-29 15:13:15 +00:00
Alexander Alekhin
75f28245a8 core: fix persistence bug in RAW I/O code
- persistence.cpp code expects special sizeof value for passed structures
- this assumption is lead to memory corruption problems
- fixed/workarounded test to prevent memory corruption on Linux 32-bit systems
2017-04-26 17:19:26 +03:00
Tomoaki Teshima
0f5aaade61 fix test error on VS2012 2017-04-21 23:07:46 +09:00
Vladislav Sovrasov
931b32d102 core: add single DMatch/Keypoint I/O 2017-03-03 13:58:55 +03:00
Alexander Alekhin
89ce2dc405 core: DMatch I/O tests 2017-03-03 13:55:27 +03:00
Vladislav Sovrasov
c321d025c4 Fix DMatch and Keypoint I/O in FileStorage 2017-03-01 15:07:38 +03:00
Vladislav Sovrasov
896c34fab3 Add support of type headings from YAML1.2 2017-01-17 16:40:38 +03:00
Vladislav Sovrasov
7c266ffffe Add support of vector of vectors serialization to FileStorage 2016-11-16 13:37:30 +03:00
Vladislav Sovrasov
38483fe7a7 Skip UTF-8 BOM in FileStorage 2016-11-02 14:51:07 +03:00
fegorsch
ddf0554fff Use colon in "%YAML:1.0" directive when persisting to YAML-files
In YAML 1.0 the colon is mandatory. See http://yaml.org/spec/1.0/#id2558635.

This also allows prior releases to read YAML files created with the current version.
2016-10-25 18:18:35 +02:00