From 3585d2269ba2d9777e3afccef026d1e159f47f5d Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 15 Dec 2017 11:40:57 +0100 Subject: Fix access after free in evaluation cache If a let expression is compressed away to just its value, let the value keep a reference to the variable declaration. Task-number: QTBUG-63613 Change-Id: I544ca682627c0fc0fe13984602aefbaaf3df4533 Reviewed-by: Thiago Macieira --- src/xmlpatterns/expr/qevaluationcache_p.h | 2 +- src/xmlpatterns/expr/qevaluationcache_tpl_p.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xmlpatterns/expr/qevaluationcache_p.h b/src/xmlpatterns/expr/qevaluationcache_p.h index 6c2efc7..d3ac422 100644 --- a/src/xmlpatterns/expr/qevaluationcache_p.h +++ b/src/xmlpatterns/expr/qevaluationcache_p.h @@ -120,7 +120,7 @@ namespace QPatternist private: static DynamicContext::Ptr topFocusContext(const DynamicContext::Ptr &context); - const VariableDeclaration* m_declaration; + const VariableDeclaration::Ptr m_declaration; /** * This variable must not be called m_slot. If it so, a compiler bug on * HP-UX-aCC-64 is triggered in the constructor initializor. See the diff --git a/src/xmlpatterns/expr/qevaluationcache_tpl_p.h b/src/xmlpatterns/expr/qevaluationcache_tpl_p.h index 26f53b5..b8e09a9 100644 --- a/src/xmlpatterns/expr/qevaluationcache_tpl_p.h +++ b/src/xmlpatterns/expr/qevaluationcache_tpl_p.h @@ -58,7 +58,7 @@ template EvaluationCache::EvaluationCache(const Expression::Ptr &op, const VariableDeclaration::Ptr &varDecl, const VariableSlotID aSlot) : SingleContainer(op) - , m_declaration(varDecl.constData()) + , m_declaration(varDecl) , m_varSlot(aSlot) { Q_ASSERT(m_declaration); -- cgit v1.2.1 From 07fdc1b94d816b1c785af69a36fd8f756b7964af Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 23 Jan 2018 11:34:47 +0100 Subject: Improve documentation for w3c's xml.xsd file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the qt_attribution.json setup, instead of hardcoding the license in the documentation. Also update the license to the latest W3C one, that supersedes the old license even for exising documents. [Third-Party Code] Update license of w3c'c xml.xsd file. Change-Id: I59a8a6f9d97ad89e530eb4cd30b1f4e1a725fcf4 Reviewed-by: Lars Knoll Reviewed-by: Topi Reiniö --- src/xmlpatterns/doc/src/qtxmlpatterns-index.qdoc | 59 ++++----------------- src/xmlpatterns/schema/schemas/qt_attribution.json | 17 ++++++ src/xmlpatterns/schema/schemas/xml.xsd-LICENSE | 61 ++++++++-------------- 3 files changed, 49 insertions(+), 88 deletions(-) create mode 100644 src/xmlpatterns/schema/schemas/qt_attribution.json diff --git a/src/xmlpatterns/doc/src/qtxmlpatterns-index.qdoc b/src/xmlpatterns/doc/src/qtxmlpatterns-index.qdoc index 1df5218..0882017 100644 --- a/src/xmlpatterns/doc/src/qtxmlpatterns-index.qdoc +++ b/src/xmlpatterns/doc/src/qtxmlpatterns-index.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2018 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the documentation of the Qt Toolkit. @@ -65,54 +65,17 @@ \li \l{Qt XML Patterns C++ Classes}{C++ Classes} \endlist - \section1 License Information + \section1 Licenses and Attributions - The XML Schema implementation provided by this module contains the \c xml.xsd file - (located in \c{src/xmlpatterns/schema/schemas}) which is licensed under the terms - given below. This module is always built with XML Schema support enabled. - - \legalese - W3C\copyright SOFTWARE NOTICE AND LICENSE - - This license came from: http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - - This work (and included software, documentation such as READMEs, or other - related items) is being provided by the copyright holders under the following - license. By obtaining, using and/or copying this work, you (the licensee) - agree that you have read, understood, and will comply with the following - terms and conditions. - - Permission to copy, modify, and distribute this software and its - documentation, with or without modification, for any purpose and without - fee or royalty is hereby granted, provided that you include the following on - ALL copies of the software and documentation or portions thereof, including - modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work.\br - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) - within the body of any redistributed or derivative code.\br - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from - which the code is derived.) - - THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS - MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT - LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR - PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE - ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - - COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR - DOCUMENTATION. - - The name and trademarks of copyright holders may NOT be used in - advertising or publicity pertaining to the software without specific, written - prior permission. Title to copyright in this software and any associated - documentation will at all times remain with copyright holders. - \endlegalese + The Qt XML Patterns module is available under commercial licenses from \l{The Qt Company}. + In addition, it is available under free software licenses. Since Qt 5.4, + these free software licenses are + \l{GNU Lesser General Public License, version 3}, or + the \l{GNU General Public License, version 2}. + See \l{Qt Licensing} for further details. + Furthermore, Qt XML Patterns in Qt \QtVersion contain third party + modules under following permissive licenses: + \generatelist{groupsbymodule attributions-qtxmlpatterns} */ diff --git a/src/xmlpatterns/schema/schemas/qt_attribution.json b/src/xmlpatterns/schema/schemas/qt_attribution.json new file mode 100644 index 0000000..ad3a14d --- /dev/null +++ b/src/xmlpatterns/schema/schemas/qt_attribution.json @@ -0,0 +1,17 @@ +{ + "Id": "xml-xsd", + "Name": "XML Schema", + "QDocModule": "qtxmlpatterns", + "QtUsage": "Used for implementing validation of the the XML schema.", + + "Files": "xml.xsd", + "Description": "The xml.xsd file provided by W3C describes the XML + namespace, in a form suitable for import by other schema documents.", + "Homepage": "https://www.w3.org/2001/xml.xsd", + "Version": "2007/08", + "DownloadLocation": "http://www.w3.org/2007/08/xml.xsd", + "LicenseId": "W3C-20150513", + "License": "W3C Software Notice and Document License (2015-05-13)", + "LicenseFile": "xml.xsd-LICENSE", + "Copyright": "Copyright © 2007 W3C® (MIT, ERCIM, Keio, Beihang)" +} diff --git a/src/xmlpatterns/schema/schemas/xml.xsd-LICENSE b/src/xmlpatterns/schema/schemas/xml.xsd-LICENSE index 2c687d8..290885a 100644 --- a/src/xmlpatterns/schema/schemas/xml.xsd-LICENSE +++ b/src/xmlpatterns/schema/schemas/xml.xsd-LICENSE @@ -1,40 +1,21 @@ -W3C® SOFTWARE NOTICE AND LICENSE - -This license came from: http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) -agree that you have read, understood, and will comply with the following -terms and conditions. - -Permission to copy, modify, and distribute this software and its -documentation, with or without modification, for any purpose and without -fee or royalty is hereby granted, provided that you include the following on -ALL copies of the software and documentation or portions thereof, including -modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) - within the body of any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from - which the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS -MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR -PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE -ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR -DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in -advertising or publicity pertaining to the software without specific, written -prior permission. Title to copyright in this software and any associated -documentation will at all times remain with copyright holders. +W3C® SOFTWARE NOTICE AND LICENSE + +This license came from: https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document + +This work is being provided by the copyright holders under the following license. + +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. + +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: + + - The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. + - Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. + - Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." + +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. + +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. + +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders. -- cgit v1.2.1 From 4d95d64382eefcb50bea5d900989cb24d56bf656 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 2 Feb 2018 15:12:38 +0100 Subject: Bump version Change-Id: I645325992034208ef9bd0b4fd1755d9045316d85 --- .qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.qmake.conf b/.qmake.conf index 2e57793..30b5226 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -2,4 +2,4 @@ load(qt_build_config) CONFIG += warning_clean DEFINES += QT_NO_FOREACH -MODULE_VERSION = 5.9.4 +MODULE_VERSION = 5.9.5 -- cgit v1.2.1 From 7c4113d6e6215b26b866ed2a0da0fa5e0c12b8ea Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Wed, 31 Jan 2018 08:46:45 +0200 Subject: Add changes file for Qt 5.10.1 Change-Id: I35ef3417ea68d2c4b60e69533907b836326a6cd4 Reviewed-by: Friedemann Kleint --- dist/changes-5.10.1 | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 dist/changes-5.10.1 diff --git a/dist/changes-5.10.1 b/dist/changes-5.10.1 new file mode 100644 index 0000000..695c4e3 --- /dev/null +++ b/dist/changes-5.10.1 @@ -0,0 +1,26 @@ +Qt 5.10.1 is a bug-fix release. It maintains both forward and backward +compatibility (source and binary) with Qt 5.10.0. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +http://doc.qt.io/qt-5/index.html + +The Qt version 5.10 series is binary compatible with the 5.9.x series. +Applications compiled for 5.9 will continue to run with 5.10. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +This release contains all fixes included in the Qt 5.9.4 release. + +**************************************************************************** +* Qt 5.10.1 Changes * +**************************************************************************** + + - This release contains only minor code improvements. -- cgit v1.2.1 From 6946807b6c223908fcc55a76803aa4e8cfbddc55 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 13 Feb 2018 16:02:57 +0100 Subject: Fix typos Change-Id: I29f89ddf8e2ff9ef47a6f27897e458d042293979 Reviewed-by: Leena Miettinen --- src/xmlpatterns/schema/qxsdschemaparser.cpp | 2 +- src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/xmlpatterns/schema/qxsdschemaparser.cpp b/src/xmlpatterns/schema/qxsdschemaparser.cpp index b1af3b1..8bbda27 100644 --- a/src/xmlpatterns/schema/qxsdschemaparser.cpp +++ b/src/xmlpatterns/schema/qxsdschemaparser.cpp @@ -70,7 +70,7 @@ QT_BEGIN_NAMESPACE * a so called (incomplete) 'compiled schema', which is a representation of the XML Schema * structure as C++ objects. * As the parser is a streaming parser, it can't resolve references to types or elements/attributes - * in place, therefor it creates resolver tasks which are passed to the schema resolver component + * in place, therefore it creates resolver tasks which are passed to the schema resolver component * for resolving at a later point in time. * The parser does furthermore the basic XML structure constraint checking, e.g. if all required * attributes are available or the order of the elements is correct. diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h b/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h index ab0fa1e..119df13 100644 --- a/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h +++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h @@ -118,7 +118,7 @@ namespace QPatternist * Validates the current element tag of the instance document. * * @param hasStateMachine Used to remember whether this element represents the start tag - * of a complex type and therefor pushes a new state machine on the stack. + * of a complex type and therefore pushes a new state machine on the stack. * @param element Used to remember which element has been validated in this step. */ bool validate(bool &hasStateMachine, XsdElement::Ptr &element); @@ -128,7 +128,7 @@ namespace QPatternist * * @param declaration The element declaration to validate against. * @param hasStateMachine Used to remember whether this element represents the start tag - * of a complex type and therefor pushes a new state machine on the stack. + * of a complex type and therefore pushes a new state machine on the stack. */ bool validateElement(const XsdElement::Ptr &declaration, bool &hasStateMachine); @@ -139,7 +139,7 @@ namespace QPatternist * @param type The type to validate against. * @param isNilled Defines whether the element is nilled by the instance document. * @param hasStateMachine Used to remember whether this element represents the start tag - * of a complex type and therefor pushes a new state machine on the stack. + * of a complex type and therefore pushes a new state machine on the stack. * * @note The @p type can differ from the element @p declaration type if the instance document has defined * it via xsi:type attribute. @@ -165,7 +165,7 @@ namespace QPatternist * @param type The type to validate against. * @param isNilled Defines whether the element is nilled by the instance document. * @param hasStateMachine Used to remember whether this element represents the start tag - * of a complex type and therefor pushes a new state machine on the stack. + * of a complex type and therefore pushes a new state machine on the stack. * * @note The @p type can differ from the element @p declaration type if the instance document has defined * it via xsi:type attribute. -- cgit v1.2.1