Commit Graph

966 Commits

Author SHA1 Message Date
Björn Esser
eec4df641c Detect broken RDRAND during initialization.
Some CPUs advertise RDRAND in CPUID, but return
0xFFFFFFFF unconditionally.  To avoid locking up
later, test RDRAND during initialization, and if
it returns 0xFFFFFFFF, mark it as nonexistent.

Also fix a possible segmentation fault in CPUID check.

This commit is a squashed backport of the following
commits on the master branch:

  * 0e5bbcaa16
  * 4d36b0287d
  * 8086314026
2020-05-25 13:06:21 +02:00
Eric Hawicz
4467e94110 Merge pull request #608 from besser82/topic/besser82/json-c-0.14/CVE-2020-12762
json-c-0.14: Fix CVE-2020-12762 - json-c through 0.14 has an integer overflow and out-of-bounds write ...
2020-05-15 21:02:37 -04:00
Björn Esser
5d6fa33141 Fix CVE-2020-12762.
This commit is a squashed backport of the following commits
on the master branch:

  * 099016b7e8
  * 77d935b7ae
  * d07b910149
  * 519dfe1591
  * a59d5acfab
  * 26f080997d
2020-05-15 07:59:40 +02:00
Eric Haszlakiewicz
228881c8fc Issue #585: don't install config.h
(cherry picked from commit 8b511c402b)
2020-04-21 01:18:06 +00:00
Eric Haszlakiewicz
bae2f10c43 Generate docs for the 0.14 release. json-c-0.14-20200419 2020-04-19 03:40:50 +00:00
Eric Haszlakiewicz
4824a38318 Bump version to 0.14 and shared library version to 5.0.0 2020-04-19 03:40:37 +00:00
Eric Haszlakiewicz
31ab57ca8b Fill in the ChangeLog for the upcoming 0.14 release. 2020-04-19 01:31:48 +00:00
Eric Haszlakiewicz
9ed00a694b Fill in a few more pre-release steps to match what we've done for the 0.14 release.
Move the list of contributors to the AUTHORS file.
2020-04-19 01:28:24 +00:00
Eric Haszlakiewicz
4badbe9c20 Rewrite the issued_closed_for_* files so they display a bit nicer. 2020-04-18 03:22:52 +00:00
Eric Haszlakiewicz
0a95f98b8d Explicitly mark several things in json_tokener deprecated. 2020-04-18 02:42:46 +00:00
Eric Haszlakiewicz
ecb9354bb1 Re-do clang-format. 2020-04-18 02:14:13 +00:00
Eric Haszlakiewicz
23ddcbd4da Make json_abort() internal to json_object.c 2020-04-18 02:05:37 +00:00
Eric Haszlakiewicz
5cc11289b4 Make json_tokener_validate_utf8() internal to json_tokener.c, and improve the docs a bit. 2020-04-18 02:02:06 +00:00
Eric Haszlakiewicz
4dc0f1718e Merge pull request #582 from dota17/list_closed_issue_pr
add the list of issues& prs closed
2020-04-17 13:32:17 -04:00
dota17
4313465f25 update 2020-04-17 09:47:30 +08:00
dota17
8bdb420d0f manual adjustment 2020-04-16 16:30:14 +08:00
dota17
6bf6a9e248 add the list of issues& prs closed 2020-04-16 16:15:04 +08:00
Eric Haszlakiewicz
a9114392b4 Merge pull request #524 from dota17/addTestCase_obj_token
Increase coverage
2020-04-15 23:35:21 -04:00
Eric Haszlakiewicz
04bb0fca73 Merge pull request #581 from Jehan/wip/Jehan/no-strict-prototypes-windows
CMakeLists: do not enforce strict prototypes on Windows.
2020-04-15 23:32:59 -04:00
dota17
b14363ae32 remove unsuitable case 2020-04-15 20:06:12 +08:00
Jehan
8c33d1c3c9 CMakeLists: do not enforce strict prototypes on Windows.
On Windows, or at least when cross-built with Mingw-w64, build fails
because strict prototype fails on an included file (thus nothing we can
do about in json-c code):

> from /home/jehan/dev/src/json-c/json_util.c:44:
> /home/jehan/.local/share/crossroad/roads/w64/json-c/include/minwindef.h:196:3: error: function declaration isn't a prototype [-Werror=strict-prototypes]
>   196 |   typedef INT_PTR (WINAPI *FARPROC) ();
>       |   ^~~~~~~
> /home/jehan/.local/share/crossroad/roads/w64/json-c/include/minwindef.h:197:3: error: function declaration isn't a prototype [-Werror=strict-prototypes]
>   197 |   typedef INT_PTR (WINAPI *NEARPROC) ();
>       |   ^~~~~~~
> /home/jehan/.local/share/crossroad/roads/w64/json-c/include/minwindef.h:198:3: error: function declaration isn't a prototype [-Werror=strict-prototypes]
>   198 |   typedef INT_PTR (WINAPI *PROC) ();
>       |   ^~~~~~~

Let's just disable the errors for Windows build.
2020-04-15 13:03:11 +02:00
Eric Haszlakiewicz
7fb8d56458 Merge pull request #580 from besser82/topic/besser82/fix_cmake_tests
Fix CMake tests for enforced strict prototypes.
2020-04-14 15:17:21 -04:00
Björn Esser
053eaa61d7 Fix CMake tests for enforced strict prototypes. 2020-04-14 20:42:32 +02:00
Eric Haszlakiewicz
ab5425a6a6 Merge pull request #527 from dota17/arraylist_test
Arraylist testcase
2020-04-14 10:28:16 -04:00
Eric Haszlakiewicz
511edb51a4 Merge pull request #579 from besser82/topic/besser82/strict-prototypes
Enforce strict prototypes.
2020-04-14 10:25:13 -04:00
dota17
2876fcc137 clang-format two test_util_file.c and test_object_iterator.c 2020-04-14 10:15:27 +08:00
chenguoping
8096125618 Increased the test coverage of json_util.c from 76% to 90.3%. 2020-04-14 10:10:47 +08:00
chenguoping
f56c5c1a60 Increased the test coverage of json_object_iterator.c from 0% to 100% 2020-04-14 10:03:58 +08:00
dota17
74bbe349c4 clang-format test1.c 2020-04-14 09:20:51 +08:00
chenguoping
110c60fcdd fix valgrind errors 2020-04-14 09:13:29 +08:00
chenguoping
76e1472808 testcase for array_list 2020-04-14 09:13:06 +08:00
Björn Esser
d0dc3489dc Enforce strict prototypes. 2020-04-13 11:29:52 +02:00
Eric Haszlakiewicz
4742a2ab1d Merge pull request #578 from besser82/topic/besser82/pkgconfig_install
CMake: Install pkgconfig file in proper location by default
2020-04-12 20:52:01 -04:00
Björn Esser
165e6f58fc CMake: Install pkgconfig file in proper location by default
The default location for pkconfig files on most systems is:
  ${CMAKE_INSTALL_LIBDIR}/pkgconfig

Thus the file should get installed in there by default.
2020-04-12 19:21:54 +02:00
Eric Haszlakiewicz
8269f90956 Merge pull request #577 from besser82/topic/besser82/json_c_version_test_verbose_on_fail
Be verbose on failing json_c_version test.
2020-04-11 22:35:40 -04:00
Björn Esser
5e699f7f73 Be verbose on failing json_c_version test. 2020-04-11 21:09:31 +02:00
Eric Haszlakiewicz
c58d56ab7c Merge pull request #576 from besser82/topic/besser82/increase_coverage
Test coverage for json_c_version.
2020-04-11 14:45:45 -04:00
Eric Haszlakiewicz
d52f1ff2c1 Merge pull request #575 from besser82/topic/besser82/cosmetics
Small cosmetics.
2020-04-11 14:18:37 -04:00
Björn Esser
d47fb12e85 Test coverage for json_c_version. 2020-04-11 12:33:59 +02:00
Björn Esser
73a2ed115a Remove multiple trailing newlines at EOF. 2020-04-11 10:35:42 +02:00
Björn Esser
fd0ae5aba6 gitignore: Add build folder. 2020-04-11 09:41:04 +02:00
Björn Esser
78cd37fb18 Clean trailing white-space. 2020-04-11 09:41:04 +02:00
Björn Esser
37355cf0e6 Fix line terminators to be UNIX. 2020-04-11 09:40:57 +02:00
Eric Haszlakiewicz
270dc2f999 Update README.md to remove autoconf instructions in favor of cmake. 2020-04-11 03:24:51 +00:00
Eric Haszlakiewicz
0734c5303d Merge pull request #572 from besser82/topic/besser82/cmake_fixes
Small fixes to CMakeLists
2020-04-10 22:08:27 -04:00
Chen
69ceb38f2f Merge pull request #573 from besser82/topic/besser82/coverage
Fix coveralls submission.
2020-04-11 09:31:43 +08:00
Björn Esser
0dac15c1ca Fix coveralls submission.
coveralls-cpp is dead and does not work anymore.
Fortunately there is coveralls-lcov available.
2020-04-10 18:07:38 +02:00
Björn Esser
e756777c92 CMake: Check whether BSYMBOLIC is supported by the linker.
Linking with '-Bsymbolic-functions' is supported for ELF-binaries, only.
2020-04-10 17:29:35 +02:00
Björn Esser
58670ec64e CMake: Build Doxygen documentation out-of-tree. 2020-04-10 14:20:57 +02:00
Björn Esser
a989651bd4 CMake: Fix appending of linker flags.
There was a typo in `CMAKE_SHARED_LINKER_FLAGS`.
2020-04-10 14:16:02 +02:00