haiku/src/servers/app
Augustin Cavalier 0cdb323800 app_server & Application Kit: Fix bitmap cursor handling.
Using a memcpy here is supremely dangerous, because we are writing to
an app_server buffer that we chose the length for, but using a size
that came from the client. And, indeed, because the buffer can contain
padding if the BBitmap was allocated with a non-standard BytesPerRow,
we will overflow the buffer and corrupt memory, causing app_server to crash.

So, instead, reorganize parameters a bit, and pass BytesPerRow along
with the other data needed to instantiate the bitmap, and then use
ImportBits.

Fixes an app_server crash I triggered with the experimental libX11
compatibility layer.
2021-12-11 21:44:59 -05:00
..
decorator app_server: Implement B_OUTLINE_RESIZE 2021-03-19 10:17:01 +00:00
drawing app_server: Add casts to appease GCC 11 -Wclass-memaccess. 2021-11-17 14:00:10 -05:00
font app_server: add B_UNDERSCORE_FACE support 2021-07-25 08:39:57 +00:00
stackandtile Enable -fvisibility=hidden on static libraries by default. 2021-09-08 17:32:47 -04:00
Angle.cpp Angle.cpp: fix gcc6 build 2016-05-13 15:23:11 -04:00
Angle.h
AppServer.cpp Launch app_server in user context. 2021-10-26 19:20:53 +00:00
AppServer.h app_server: fix test-app_server for launch_daemon changes 2015-08-23 01:00:32 +02:00
BitmapManager.cpp app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
BitmapManager.h
Canvas.cpp use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
Canvas.h Build fix. 2020-12-02 20:05:20 +01:00
ClickTarget.h More class/struct mixup fixes. 2018-06-18 23:16:50 -04:00
ClientMemoryAllocator.cpp app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
ClientMemoryAllocator.h app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
CursorData.cpp
CursorData.h
CursorManager.cpp app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
CursorManager.h BCursor: add a constructor with bitmap and point 2020-10-08 08:23:31 +00:00
CursorSet.cpp build fix. 2020-09-19 11:07:06 +02:00
CursorSet.h
DelayedMessage.cpp interface & app_server: Fix missing parentheses near ternary operators. 2018-06-21 22:04:31 -04:00
DelayedMessage.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
Desktop.cpp WindowInfo: Use char[0] for FLA instead of char[1]. 2021-11-23 13:50:45 -05:00
Desktop.h app_server: Implement B_OUTLINE_RESIZE 2021-03-19 10:17:01 +00:00
DesktopListener.cpp App Server: Fix typo 2014-01-30 19:48:34 -05:00
DesktopListener.h App Server: Fix typo 2014-01-30 19:48:34 -05:00
DesktopSettings.cpp app_server: Add casts to appease GCC 11 -Wclass-memaccess. 2021-11-17 14:00:10 -05:00
DesktopSettings.h Add basic support for loading ControlLook add-ons 2019-05-13 22:15:30 +00:00
DesktopSettingsPrivate.h Add basic support for loading ControlLook add-ons 2019-05-13 22:15:30 +00:00
DirectWindowInfo.cpp app_server: handle RGB48 and RGBA64 in switches 2021-10-08 15:06:07 +00:00
DirectWindowInfo.h
DrawState.cpp use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
DrawState.h app_server memory management: use ObjectDeleter to mark ownership 2020-12-03 18:45:14 +00:00
EventDispatcher.cpp use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
EventDispatcher.h app_server memory management: use ObjectDeleter to mark ownership 2020-12-03 18:45:14 +00:00
EventStream.cpp use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
EventStream.h Move B_MOUSE_IDLE generation to app_server. 2013-10-26 16:11:45 +02:00
InputManager.cpp
InputManager.h
IntPoint.cpp
IntPoint.h
IntRect.cpp
IntRect.h
Jamfile app_server: Fix gcc2 build 2020-06-29 19:44:57 +02:00
Layer.cpp use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
Layer.h app_server: add new BView layers API 2015-07-25 16:35:52 +02:00
MessageLooper.cpp app_server: Alphabetize new include in MessageLooper. 2019-07-30 23:41:09 -04:00
MessageLooper.h Remove unnecessary usages of BLocker::Sem(). 2019-07-27 18:31:58 -04:00
MultiLocker.cpp app_server: Use RW_LOCK_FLAG_CLONE_NAME in MultiLocker. 2019-07-28 14:54:25 -04:00
MultiLocker.h app_server: Use a rw_lock instead of 3 (!) semaphores for MultiLocker. 2019-07-27 23:53:45 -04:00
OffscreenServerWindow.cpp app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
OffscreenServerWindow.h app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
OffscreenWindow.cpp use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
OffscreenWindow.h app_server memory management: use ObjectDeleter to mark ownership 2020-12-03 18:45:14 +00:00
PictureBoundingBoxPlayer.cpp app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
PictureBoundingBoxPlayer.h app_server: PictureBoundingBoxPlayer fixups 2015-08-23 01:01:42 +02:00
ProfileMessageSupport.cpp BCursor: add a constructor with bitmap and point 2020-10-08 08:23:31 +00:00
ProfileMessageSupport.h app_server: fix another unchecked out-of-memory case 2019-11-24 13:38:15 +01:00
RGBColor.cpp
RGBColor.h
RegionPool.cpp
RegionPool.h
RenderingBuffer.h app_server: Drop gfxcpy and implement some TODOs about checking for graphics memory. 2021-10-23 00:40:53 +00:00
Screen.cpp app_server: turn DPMS on only after setting a valid mode 2021-08-24 15:05:45 +00:00
Screen.h app_server memory management: use ObjectDeleter to mark ownership 2020-12-03 18:45:14 +00:00
ScreenConfigurations.cpp app_server: missing null pointer check. 2020-09-29 20:01:46 +02:00
ScreenConfigurations.h app_server: don't reset brightness when switching workspaces 2020-09-28 20:51:10 +02:00
ScreenManager.cpp servers/app: Fix double delete 2021-03-16 17:01:47 +00:00
ScreenManager.h app_server memory management: use ObjectDeleter to mark ownership 2020-12-03 18:45:14 +00:00
ServerApp.cpp app_server & Application Kit: Fix bitmap cursor handling. 2021-12-11 21:44:59 -05:00
ServerApp.h app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
ServerBitmap.cpp app_server memory management: use ObjectDeleter to mark ownership 2020-12-03 18:45:14 +00:00
ServerBitmap.h app_server: fix integer overflow in ServerBitmap 2021-07-14 20:25:00 +00:00
ServerConfig.h Set Noto Sans Mono as monospace default font 2020-07-28 16:42:18 +00:00
ServerCursor.cpp app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
ServerCursor.h
ServerFont.cpp app_server: add B_UNDERSCORE_FACE support 2021-07-25 08:39:57 +00:00
ServerFont.h app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
ServerPicture.cpp use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
ServerPicture.h app_server memory management fixes: use BReference 2020-12-02 17:59:06 +00:00
ServerTokenSpace.h RemoteDesktop: Switch connection direction and simplify client. 2017-11-21 22:18:17 +01:00
ServerWindow.cpp use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
ServerWindow.h use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
SimpleTransform.h app_server: extract coordinate conversion class 2015-07-25 16:31:19 +02:00
SystemPalette.cpp app_server: Add casts to appease GCC 11 -Wclass-memaccess. 2021-11-17 14:00:10 -05:00
SystemPalette.h
TestServerLoopAdapter.cpp test_app_server: Fix the build. 2016-12-17 14:03:13 -05:00
TestServerLoopAdapter.h test_app_server: Fix the build. 2016-12-17 14:03:13 -05:00
View.cpp use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
View.h use .IsSet() instead if .Get() != NULL 2021-02-02 15:17:54 +00:00
VirtualScreen.cpp app_server: turn DPMS on only after setting a valid mode 2021-08-24 15:05:45 +00:00
VirtualScreen.h
Window.cpp app_server: Implement B_OUTLINE_RESIZE 2021-03-19 10:17:01 +00:00
Window.h app_server: Implement B_OUTLINE_RESIZE 2021-03-19 10:17:01 +00:00
WindowList.cpp
WindowList.h
Workspace.cpp
Workspace.h Minor cleanup. 2016-07-24 13:01:09 +02:00
WorkspacePrivate.h
WorkspacesView.cpp app_server: extract coordinate conversion class 2015-07-25 16:31:19 +02:00
WorkspacesView.h
app_server.rdef Add icons to more of the servers. 2016-08-07 22:06:24 +02:00
test_app_server.rdef app_server: fix test-app_server for launch_daemon changes 2015-08-23 01:00:32 +02:00