Sam James
2419dbd2ea
meson: fix pkgconfig file
...
Fix includedir and libdir to have proper paths (not just relative ones
to prefix).
Using Meson's native pkgconfig module is the best way of doing this.
Signed-off-by: Sam James <sam@gentoo.org >
2026-07-24 07:37:41 +01:00
Sam James
7ee487cc61
meson: fix version numbers
...
Signed-off-by: Sam James <sam@gentoo.org >
2026-07-24 07:37:41 +01:00
Sam James
87087ded64
meson: improve test handling
...
Tests will now be built at `meson test`-time, so there's no cost if the
user isn't going to run them.
This is better than guarding on build type, as distros may want to test production
builds before shipping.
Signed-off-by: Sam James <sam@gentoo.org >
2026-07-24 07:37:41 +01:00
Sam James
cf958091ad
meson: wire up extra_libs option
...
This is more elegant as a meson feature option because feature options
propagate in a useful way to `dependency(..., required: ...)`.
Without this, the option was ignored. Wiring it up naively meant that
disabling it still searched for libbsd as well, so a feature option
is the best fit.
Also, mark it as a dependency of `arc4random`.
Signed-off-by: Sam James <sam@gentoo.org >
2026-07-24 07:37:40 +01:00
Eric Hawicz
1bd2e4b3ef
Merge pull request #949 from dxbjavid/pointer-empty-index-token
...
reject empty reference token as array index in json_pointer
2026-07-21 19:45:12 -04:00
Javid Khan
70f3169bae
reject empty reference token as array index in json_pointer
2026-07-20 14:44:51 +05:30
Eric Hawicz
1e39345938
Merge pull request #946 from dxbjavid/patch-null-field-fields
...
reject null op/path/from fields in json_patch_apply
2026-07-18 13:15:09 -04:00
Javid Khan
e248056aa1
require string type for patch op/path/from fields
2026-07-18 21:08:17 +05:30
Javid Khan
eed664e06a
reject null op/path/from fields in json_patch_apply
2026-07-16 12:55:41 +05:30
Eric Hawicz
0ea5f6c615
Merge pull request #942 from dxbjavid/strerror-negative-oob
...
fix out-of-bounds read for negative errno in _json_c_strerror
2026-07-16 00:42:42 -04:00
Eric Hawicz
f61e612b43
Merge pull request #943 from Seagate/meson_install_fix
...
fix installing json-c headers with meson and missing pkgconfig file
2026-07-16 00:41:29 -04:00
Eric Hawicz
dfd37bc1bb
Merge pull request #945 from arr2036/json-object-put-return-value
...
fix json_object_put() to return 1 for freed scalars and empty containers
2026-07-16 00:40:55 -04:00
Arran Cudbard-Bell
69be99ef8e
fix json_object_put() to return 1 for freed scalars and empty containers
...
The iterative rewrite in 17328a67 made json_object_put() return 0 for freed scalars, strings and empty containers, contradicting the documented contract in json_object.h. Distinguish "freed" from "still referenced" in _json_object_put_maybe_free() and add regression tests.
2026-07-14 10:28:04 -04:00
Tyler Erickson
56a0e3f478
fix installing json-c headers with meson and missing pkgconfig file
...
This commit fixes the install path for json-c headers when running `meson install`.
Previously some showed in /usr/include/ rather than /usr/include/json-c
This also adds generating the pkgconfig .pc file for this project.
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com >
2026-07-13 15:48:20 -06:00
Javid Khan
9d116a5d38
fix out-of-bounds read for negative errno in _json_c_strerror
2026-07-13 13:46:36 +05:30
Eric Hawicz
e65444a258
Merge pull request #940 from dxbjavid/get-int64-double-boundary
...
reject out-of-range double in json_object_get_int64/get_uint64
2026-07-12 19:46:03 -04:00
Eric Hawicz
aab792578b
Issue #941 : fix "defined but not used" errors when building with a c++ compiler.
2026-07-11 09:28:49 -04:00
Javid Khan
16e394ba96
reject out-of-range double in get_int64/get_uint64
2026-07-06 18:07:09 +05:30
Eric Hawicz
324e5ca593
Merge pull request #933 from dxbjavid/int-inc-int64min-overflow
...
fix signed overflow negating INT64_MIN in json_object_int_inc
2026-07-04 11:40:42 -04:00
Eric Hawicz
0c3a5a1994
Issue #934 : Also set _userdata=NULL in _json_object_maybe_free() so json_object_put doesn't try to use it as a _delete_parent value.
...
Update the test_deep_nesting test output.
2026-07-04 11:39:02 -04:00
Eric Hawicz
e00697585b
Merge pull request #936 from dxbjavid/put-free-outside-assert
...
free objects outside assert() in json_object_put
2026-07-04 11:20:48 -04:00
Eric Hawicz
3aa996b5b6
Issue #934 : Be sure to clear _user_delete in _json_object_put_maybe_free() to avoid calling it twice. Add a test to check.
2026-07-04 11:02:06 -04:00
Javid Khan
f291fa81c6
free objects outside assert() in json_object_put
2026-06-30 18:54:06 +05:30
Javid Khan
54f5526011
fix signed overflow negating INT64_MIN in json_object_int_inc
2026-06-27 22:52:43 +05:30
Eric Hawicz
b299553de1
Issue #824 : start listing releases on github
2026-06-27 10:07:26 -04:00
Eric Hawicz
c1c7e50e79
Update the master branch to version 0.19.99
2026-06-27 09:55:42 -04:00
Eric Hawicz
c54e6900e7
More updates to ChangeLog for a 0.19 release
2026-06-27 09:35:37 -04:00
Eric Hawicz
3c1cf2b5a4
Merge pull request #931 from dxbjavid/patch-copy-deep-copy
...
deep copy values in json_patch copy op to avoid aliasing and cycles
2026-06-27 09:11:43 -04:00
Eric Hawicz
d2adb47746
Merge pull request #932 from Alb3e3/harden-ci-permissions
...
ci: set least-privilege GITHUB_TOKEN permissions for meson workflow
2026-06-27 08:44:50 -04:00
Alb3e3
d0cc18738c
ci: set least-privilege GITHUB_TOKEN permissions for meson workflow
...
The meson workflow only builds and tests across platforms; none of its
jobs write to the repository, packages, or other GitHub resources. Add a
workflow-level `permissions: { contents: read }` block so the default
GITHUB_TOKEN follows least privilege instead of inheriting the broad
read/write scopes granted by default.
2026-06-27 13:52:31 +02:00
dxbjavid
5647679c0c
deep copy values in json_patch copy op to avoid aliasing and cycles
2026-06-24 21:56:36 +05:30
Eric Hawicz
cce075f551
Merge pull request #930 from dxbjavid/get-double-locale-radix
...
fix locale-dependent strtod in json_object_get_double
2026-06-21 19:46:36 -04:00
Eric Hawicz
e1812074fa
Issue #928 - work around over-zealous uninitialized check in chromebrew gcc.
2026-06-21 19:25:37 -04:00
Eric Hawicz
d9d8cab822
Add tests for the json_parse cli tool.
2026-06-21 13:44:59 -04:00
Eric Hawicz
bb9c1238ad
Save stderr from test output, allow for non-zero exit code from tests.
2026-06-21 13:43:11 -04:00
Eric Hawicz
1d658982e5
Issue #929 : fix bad calculation of error offset when parsing in the apps/json_parse tool.
...
Also, show the failing character in hex to ensure error output is readable.
2026-06-21 12:43:20 -04:00
dxbjavid
c6cd1f236c
fix locale-dependent strtod in json_object_get_double
2026-06-15 23:53:53 +05:30
Eric Hawicz
d1018cf6ba
Update test_object_iterator.expect to match current test output.
2026-05-25 15:27:48 -04:00
Eric Hawicz
3e708e4c4f
Drop osx from .travis.yml since macOS builds are no longer supported.
2026-05-24 16:15:19 -04:00
Eric Hawicz
6167807f3a
Merge pull request #925 from mbroz/fix-build
...
Fix build with clang-21
2026-05-24 16:07:11 -04:00
Eric Hawicz
dee128f4d6
Issue #927 : update the documentation for json_object_iterator to clarify that any change of the fields present on the object being iterated invalidates the iterator.
...
Update the test to show what kind of changes _are_ allowed.
2026-05-23 14:31:45 -04:00
Eric Hawicz
2bfda7114b
Remove never used struct json_object_iter_info_
2026-05-23 14:31:45 -04:00
Eric Hawicz
79474075ce
Fix expected output for test_deep_nesting
2026-05-23 14:31:45 -04:00
Milan Broz
1f7589fa2f
Fix function prototypes in deep nesting test (clang compilation)
...
This patch fixes the build error with clang-21
tests/test_deep_nesting.c:19:34: error: a function declaration
without a prototype is deprecated in all versions of C
[-Werror,-Wstrict-prototypes]
19 | static char *generate_json_string()
by fixing generate_json_string() definition.
It also removes prototypes for static functions that are not needed.
2026-05-12 21:46:50 +02:00
Eric Hawicz
ccd2803b3d
Merge pull request #924 from json-c/put_no_recurse
...
avoid recursion during json_object_put
2026-05-03 20:49:09 -04:00
Eric Hawicz
17328a6713
Issue #923 : Avoid stack recursion in json_object_put() so heavily nested object trees can be freed.
2026-05-03 20:44:28 -04:00
Eric Hawicz
e50fb04154
Add lh_table_delete_entry_to_tail() and array_list_set_idx() functions.
2026-05-03 20:44:08 -04:00
Eric Hawicz
5320cf9753
Add a test to check for issues with deeply nested objects, which can cause problems due to stack recursion.
2026-05-03 20:44:02 -04:00
Eric Hawicz
52ddfb35f1
Fix memory leak in test_safe_json_pointer_set, the caller must free the passed value when json_pointer_set failed. Also, reformat.
2026-02-19 19:05:10 -05:00
Eric Hawicz
8c987e0b73
Issue #919 : Fix build on non-x86 windows. Patch thanks to @dotanbrk
2026-02-19 18:48:05 -05:00