Opened 2 years ago

Closed 2 years ago

#16410 closed enhancement (fixed)

json-c-0.16

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 11.2
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (3)

comment:1 by Bruce Dubbs, 2 years ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Bruce Dubbs, 2 years ago

0.16 (up to commit 66dcdf5, 2022-04-13)

Deprecated and removed features:

  • JSON_C_OBJECT_KEY_IS_CONSTANT is deprecated in favor of JSON_C_OBJECT_ADD_CONSTANT_KEY
  • Direct access to lh_table and lh_entry structure members is deprecated. Use access functions instead, lh_table_head(), lh_entry_next(), etc...
  • Drop REFCOUNT_DEBUG code.

New features

  • The 0.16 release introduces no new features

Build changes

  • Add a DISABLE_EXTRA_LIBS option to skip using libbsd
  • Add a DISABLE_JSON_POINTER option to skip compiling in json_pointer support.

Significant changes and bug fixes

  • Cap string length at INT_MAX to avoid various issues with very long strings.
  • json_object_deep_copy: fix deep copy of strings containing '\0'
  • Fix read past end of buffer in the "json_parse" command
  • Avoid out of memory accesses in the locally provided vasprintf() function (for those platforms that use it)
  • Handle allocation failure in json_tokener_new_ex
  • Fix use-after-free in json_tokener_new_ex() in the event of printbuf_new() returning NULL
  • printbuf_memset(): set gaps to zero - areas within the print buffer which have not been initialized by using printbuf_memset
  • printbuf: return -1 on invalid arguments (len < 0 or total buffer > INT_MAX)
  • sprintbuf(): propagate printbuf_memappend errors back to the caller

Optimizations

  • Speed up parsing by replacing ctype functions with simplified, faster non-locale-sensitive ones in json_tokener and json_object_to_json_string.
  • Neither vertical tab nor formfeed are considered whitespace per the JSON spec
  • json_object: speed up creation of objects, calloc() -> malloc() + set fields
  • Avoid needless extra strlen() call in json_c_shallow_copy_default() and json_object_equal() when the object is known to be a json_type_string.

Other changes

  • Validate size arguments in arraylist functions.
  • Use getrandom() if available; with GRND_NONBLOCK to allow use of json-c very early during boot, such as part of cryptsetup.
  • Use arc4random() if it's available.
  • random_seed: on error, continue to next method instead of exiting the process
  • Close file when unable to read from /dev/urandom in get_dev_random_seed()

comment:3 by Bruce Dubbs, 2 years ago

Resolution: fixed
Status: assignedclosed

Fixed at commit

706e72e3e2 Update to boost_1_79_0.
92aa2390f7 Update to json-c-0.16.
f02fed1a43 Update to pipewire-0.3.50.
5a472da610 Update to glib-2.72.1.
7b509ebe62 Update to php-8.1.5.
Note: See TracTickets for help on using tickets.