Hello community, here is the log from the commit of package jsoncpp for openSUSE:Factory checked in at 2020-06-24 15:38:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jsoncpp (Old) and /work/SRC/openSUSE:Factory/.jsoncpp.new.2956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jsoncpp" Wed Jun 24 15:38:35 2020 rev:26 rq: version:1.9.2 Changes: -------- --- /work/SRC/openSUSE:Factory/jsoncpp/jsoncpp.changes 2020-06-23 21:03:16.721587932 +0200 +++ /work/SRC/openSUSE:Factory/.jsoncpp.new.2956/jsoncpp.changes 2020-06-24 15:38:40.645902670 +0200 @@ -2,16 +1,0 @@ -Fri Jun 19 06:00:24 UTC 2020 - Martin Pluskal <[email protected]> - -- Update to version 1.9.3" - * Fixes to JSON_USE_EXCEPTION--some bugs creeped in breaking this - flag in pre-release. - * Fixes to build system--improvements have been make for code - correctness. - * Compile errors for various platforms have been resolved. - * Fuzzing has been fixed. - * Various bugs in the Reader and Writer code have been corrected. - * CPPTL support has been dropped. - * Various code improvements and optimizations. -- Drop no longer needed patch: - * jsoncpp-f11611c8785082ead760494cba06196f14a06dcb.patch - -------------------------------------------------------------------- Old: ---- jsoncpp-1.9.3.tar.gz New: ---- jsoncpp-1.9.2.tar.gz jsoncpp-f11611c8785082ead760494cba06196f14a06dcb.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jsoncpp.spec ++++++ --- /var/tmp/diff_new_pack.ODa3u4/_old 2020-06-24 15:38:49.189929579 +0200 +++ /var/tmp/diff_new_pack.ODa3u4/_new 2020-06-24 15:38:49.193929591 +0200 @@ -16,15 +16,17 @@ # -%define sover 24 +%define sover 22 Name: jsoncpp -Version: 1.9.3 +Version: 1.9.2 Release: 0 Summary: C++ library that allows manipulating with JSON License: MIT Group: Development/Libraries/C and C++ URL: https://github.com/open-source-parsers/jsoncpp Source0: https://github.com/open-source-parsers/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +# PATCH-FIX-UPSTREAM - https://github.com/open-source-parsers/jsoncpp/commit/f11611c8785082ead760494cba06196f14a06dcb +Patch1: jsoncpp-f11611c8785082ead760494cba06196f14a06dcb.patch BuildRequires: gcc-c++ BuildRequires: meson >= 0.50.0 BuildRequires: pkgconfig @@ -67,10 +69,11 @@ format to store user input files. %prep -%autosetup +%setup -q +%patch1 -p1 %build -%meson +%meson \ %meson_build %install ++++++ jsoncpp-1.9.3.tar.gz -> jsoncpp-1.9.2.tar.gz ++++++ ++++ 3925 lines of diff (skipped) ++++++ jsoncpp-f11611c8785082ead760494cba06196f14a06dcb.patch ++++++ >From f11611c8785082ead760494cba06196f14a06dcb Mon Sep 17 00:00:00 2001 From: Andrew Childs <[email protected]> Date: Sat, 28 Dec 2019 16:04:24 +0900 Subject: [PATCH] json_writer: fix inverted sense in isAnyCharRequiredQuoting (#1120) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This bug is only affects platforms where `char` is unsigned. When char is a signed type, values >= 0x80 are also considered < 0, and hence require escaping due to the < ' ' condition. When char is an unsigned type, values >= 0x80 match none of the conditions and are considered safe to emit without escaping. This shows up as a test failure: * Detail of EscapeSequenceTest/writeEscapeSequence test failure: /build/source/src/test_lib_json/main.cpp(3370): expected == result Expected: '["\"","\\","\b","\f","\n","\r","\t","\u0278","\ud852\udf62"] ' Actual : '["\"","\\","\b","\f","\n","\r","\t","ɸ","𤭢"] ' --- src/lib_json/json_writer.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib_json/json_writer.cpp b/src/lib_json/json_writer.cpp index 8e06cca2..56195dc1 100644 --- a/src/lib_json/json_writer.cpp +++ b/src/lib_json/json_writer.cpp @@ -178,8 +178,9 @@ static bool isAnyCharRequiredQuoting(char const* s, size_t n) { char const* const end = s + n; for (char const* cur = s; cur < end; ++cur) { - if (*cur == '\\' || *cur == '\"' || *cur < ' ' || - static_cast<unsigned char>(*cur) < 0x80) + if (*cur == '\\' || *cur == '\"' || + static_cast<unsigned char>(*cur) < ' ' || + static_cast<unsigned char>(*cur) >= 0x80) return true; } return false;
