Hello community, here is the log from the commit of package kjs for openSUSE:Factory checked in at 2016-03-16 10:30:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kjs (Old) and /work/SRC/openSUSE:Factory/.kjs.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kjs" Changes: -------- --- /work/SRC/openSUSE:Factory/kjs/kjs.changes 2016-02-24 18:56:04.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kjs.new/kjs.changes 2016-03-16 10:30:33.000000000 +0100 @@ -1,0 +2,8 @@ +Sun Mar 6 10:00:03 UTC 2016 - [email protected] + +- Update to 5.20.0 (boo#970856) + * Limit string memory use + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.20.0.php + +------------------------------------------------------------------- Old: ---- kjs-5.19.0.tar.xz New: ---- kjs-5.20.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kjs.spec ++++++ --- /var/tmp/diff_new_pack.h8um2Z/_old 2016-03-16 10:30:34.000000000 +0100 +++ /var/tmp/diff_new_pack.h8um2Z/_new 2016-03-16 10:30:34.000000000 +0100 @@ -17,9 +17,9 @@ %define sonum 5 -%define _tar_path 5.19 +%define _tar_path 5.20 Name: kjs -Version: 5.19.0 +Version: 5.20.0 Release: 0 %define kf5_version %{version} BuildRequires: cmake >= 2.8.12 ++++++ kjs-5.19.0.tar.xz -> kjs-5.20.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.19.0/CMakeLists.txt new/kjs-5.20.0/CMakeLists.txt --- old/kjs-5.19.0/CMakeLists.txt 2016-02-06 10:39:35.000000000 +0100 +++ new/kjs-5.20.0/CMakeLists.txt 2016-03-04 23:19:41.000000000 +0100 @@ -4,7 +4,7 @@ # ECM setup include(FeatureSummary) -find_package(ECM 5.19.0 NO_MODULE) +find_package(ECM 5.20.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -16,7 +16,7 @@ include(ECMSetupVersion) include(ECMMarkNonGuiExecutable) -set(KF5_VERSION "5.19.0") # handled by release scripts +set(KF5_VERSION "5.20.0") # handled by release scripts ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX KJS VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kjs_version.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.19.0/src/kjs/ustring.cpp new/kjs-5.20.0/src/kjs/ustring.cpp --- old/kjs-5.19.0/src/kjs/ustring.cpp 2016-02-06 10:39:35.000000000 +0100 +++ new/kjs-5.20.0/src/kjs/ustring.cpp 2016-03-04 23:19:41.000000000 +0100 @@ -66,7 +66,9 @@ } static inline size_t maxUChars() { - return std::numeric_limits<size_t>::max() / sizeof(UChar); + // We don't want strings to get too crazy, since OOM hurts... and since we use 32-bit lengths + // on 64-bit, too, keeping this small prevents overflows. + return 0xFFFFFFF; } static inline UChar *allocChars(size_t length) @@ -1297,6 +1299,10 @@ return UString(Rep::create(m_rep, pos, len)); } +size_t UString::maxUChars() { + return ::KJS::maxUChars(); +} + void UString::copyForWriting() { int l = size(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjs-5.19.0/src/kjs/ustring.h new/kjs-5.20.0/src/kjs/ustring.h --- old/kjs-5.19.0/src/kjs/ustring.h 2016-02-06 10:39:35.000000000 +0100 +++ new/kjs-5.20.0/src/kjs/ustring.h 2016-03-04 23:19:41.000000000 +0100 @@ -52,10 +52,6 @@ { class DOMString; } -namespace khtml -{ -class AtomicString; -} class QString; class QConstString; @@ -280,10 +276,6 @@ * Convenience declaration only ! See UString(const QString&). */ KJS_EXTERNAL_EXPORT UString(const DOM::DOMString &); - /** - * Convenience declaration only ! See UString(const QString&). - */ - KJS_EXTERNAL_EXPORT UString(const khtml::AtomicString &); /** * Concatenation constructor. Makes operator+ more efficient. @@ -480,6 +472,12 @@ */ static const UString &null(); + /** + * Maximum permitted string length + * @since 5.20 + */ + static size_t maxUChars(); + Rep *rep() const { return m_rep.get();
