hrev49099 adds 3 changesets to branch 'master'
old head: 5d05694ad6eaa3129a739f55232ec11bb57ecd31
new head: 8361c0f11a24c782a7ab21e8f26a5f0236ec6a4c
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=8361c0f11a24+%5E5d05694ad6ea
----------------------------------------------------------------------------
5919f6d4af28: screen_saver filter: Fix use-after-free on destruction.
Stop watching nodes before quitting and therefore deleting the looper
that was subscribed.
ea9f4d993cdf: Tiny whitespace cleanup only.
8361c0f11a24: ActivityMonitor: Fix leak of message when saving settings.
Adding a message to a message does not transfer ownership.
[ Michael Lotz <mmlr@xxxxxxxx> ]
----------------------------------------------------------------------------
3 files changed, 9 insertions(+), 11 deletions(-)
src/add-ons/input_server/filters/screen_saver/Jamfile | 4 ++--
.../filters/screen_saver/ScreenSaverFilter.cpp | 6 +++---
src/apps/activitymonitor/ActivityWindow.cpp | 10 ++++------
############################################################################
Commit: 5919f6d4af2819340cd046e8eb3fd6db2f546b53
URL: http://cgit.haiku-os.org/haiku/commit/?id=5919f6d4af28
Author: Michael Lotz <mmlr@xxxxxxxx>
Date: Thu Apr 23 21:09:40 2015 UTC
screen_saver filter: Fix use-after-free on destruction.
Stop watching nodes before quitting and therefore deleting the looper
that was subscribed.
----------------------------------------------------------------------------
diff --git
a/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp
b/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp
index 1552a20..bd11eb7 100644
--- a/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp
+++ b/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp
@@ -120,6 +120,9 @@ ScreenSaverFilter::~ScreenSaverFilter()
{
be_roster->StopWatching(fController);
+ if (fWatchingFile || fWatchingDirectory)
+ watch_node(&fNodeRef, B_STOP_WATCHING, fController);
+
// We must quit our controller without being locked, or else we might
// deadlock; when the controller is gone, there is no reason to lock
// anymore, anyway.
@@ -128,9 +131,6 @@ ScreenSaverFilter::~ScreenSaverFilter()
delete fCornerRunner;
delete fRunner;
-
- if (fWatchingFile || fWatchingDirectory)
- watch_node(&fNodeRef, B_STOP_WATCHING, fController);
}
############################################################################
Commit: ea9f4d993cdfa8e98aefa5e5a782ad6d096085ca
URL: http://cgit.haiku-os.org/haiku/commit/?id=ea9f4d993cdf
Author: Michael Lotz <mmlr@xxxxxxxx>
Date: Thu Apr 23 21:12:23 2015 UTC
Tiny whitespace cleanup only.
----------------------------------------------------------------------------
diff --git a/src/add-ons/input_server/filters/screen_saver/Jamfile
b/src/add-ons/input_server/filters/screen_saver/Jamfile
index 08a8a74..64cc9de 100644
--- a/src/add-ons/input_server/filters/screen_saver/Jamfile
+++ b/src/add-ons/input_server/filters/screen_saver/Jamfile
@@ -4,6 +4,6 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders screen_saver ;
-Addon screen_saver :
- ScreenSaverFilter.cpp
+Addon screen_saver :
+ ScreenSaverFilter.cpp
: be libscreensaver.so input_server [ TargetLibsupc++ ] ;
############################################################################
Revision: hrev49099
Commit: 8361c0f11a24c782a7ab21e8f26a5f0236ec6a4c
URL: http://cgit.haiku-os.org/haiku/commit/?id=8361c0f11a24
Author: Michael Lotz <mmlr@xxxxxxxx>
Date: Thu Apr 23 21:13:20 2015 UTC
ActivityMonitor: Fix leak of message when saving settings.
Adding a message to a message does not transfer ownership.
----------------------------------------------------------------------------
diff --git a/src/apps/activitymonitor/ActivityWindow.cpp
b/src/apps/activitymonitor/ActivityWindow.cpp
index 449c775..62279b9 100644
--- a/src/apps/activitymonitor/ActivityWindow.cpp
+++ b/src/apps/activitymonitor/ActivityWindow.cpp
@@ -335,14 +335,12 @@ ActivityWindow::_SaveSettings()
if (view == NULL)
continue;
- BMessage* viewState = new BMessage;
- status = view->SaveState(*viewState);
+ BMessage viewState;
+ status = view->SaveState(viewState);
if (status == B_OK)
- status = settings.AddMessage("activity view",
viewState);
- if (status != B_OK) {
- delete viewState;
+ status = settings.AddMessage("activity view",
&viewState);
+ if (status != B_OK)
break;
- }
}
if (status == B_OK)