Go to file
Michael Pyne 600bdda045 Fix potential use-after-free in FrameSVG.
Plasma framework's FrameSVG class uses cached regions for efficiency. However
Coverity caught a mis-use of QCache in FrameSvg::mask(), which could lead to a
use-after-free situation. (CID 1291560)

Basically, any pointer passed into QCache::insert must be assumed to be deleted
after insert() has been called -- we can't then return that pointer to the
caller.

Moreover we were simply returning a pointer to calling code that had been (and
still would be) owned by QCache, which is unsafe as it can be deleted at any
time. The fix in both cases is to make a local copy of the QRegion from out of
the cache and return that.

REVIEW:126411
FIXED-IN:5.18
2015-12-17 21:34:04 -05:00
autotests [libplasma] Add categorized debug output 2015-12-15 16:56:40 -05:00
cmake Add KDETemplateMacro.cmake so I can remove it from ecm for now. 2015-12-03 10:02:12 +00:00
docs Fix releaseinfo+productname, rm obsolet options in plasmapkg2 docbook 2015-08-03 07:21:56 +02:00
examples SVN_SILENT made messages (.desktop file) - always resolve ours 2015-12-16 09:05:14 +00:00
src Fix potential use-after-free in FrameSVG. 2015-12-17 21:34:04 -05:00
templates SVN_SILENT made messages (.desktop file) - always resolve ours 2015-12-16 09:05:14 +00:00
tests Use SERVICE_TYPES parameter to kcoreaddons_desktop_to_json() 2015-12-09 23:10:41 +00:00
.reviewboardrc Fix .reviewboardrc syntax 2014-06-02 17:39:23 +01:00
CMakeLists.txt [libplasma] Add categorized debug output 2015-12-15 16:56:40 -05:00
COPYING Add COPYING and COPYING.LIB files 2013-12-23 18:39:10 +00:00
COPYING.LIB Add COPYING and COPYING.LIB files 2013-12-23 18:39:10 +00:00
KF5PlasmaConfig.cmake.in port libplasma away from sycoca as much as possible 2015-05-07 16:26:37 +02:00
KF5PlasmaMacros.cmake Remove rather outdated .svn install exclusion 2014-09-25 13:16:28 +02:00
metainfo.yaml Add metadata about the QMake and CMake packages installed by this framework and remove Links from README.md 2014-08-13 10:56:51 +02:00
README.md Add/update first line of README.md to be a short description, useful for inqlude 2015-07-27 19:41:21 +02:00

Plasma Framework

Foundational libraries, components, and tools of the Plasma workspaces

Introduction

The plasma framework provides the following:

  • QML components
  • A C++ library: libplasma
  • Script engines

QML components

org.kde.plasma.core

Bindings for libplasma functionality, such as DataEngine and FrameSvg, see @ref core.

org.kde.plasma.components

Graphical components for common items such as buttons, lineedits, tabbars and so on. Compatible subset of the MeeGo components used on the N9, see @ref plasmacomponents.

org.kde.plasma.extras

Extra graphical components that extend org.kde.plasma.components but are not in the standard api, see @ref plasmaextracomponents.

org.kde.plasma.plasmoid

Attached properties for manipulating the current applet or containment, see @ref libplasmaquick

libplasma

This C++ library provides:

  • rendering of SVG themes
  • loading of files from a certain filesystem structure: packages
  • data access through data engines
  • loading of the plugin structure of the workspace: containments and applets

See @ref libplasma.

Script engines

Provides support to create applets or containments in various scripting languages.