spice/server
Frediano Ziglio 1b15983415 Make QXLMessage handling safe
The QXLMessage has no size so potentially a guest could give an
address that cause the string to overflow out of the video memory.
The current solution is to parse the message, release the resources
associated without printing the message from the client.
This also considering that the QXLMessage usage was deprecated
a while ago (I don't know exactly when).
This patches limit the string to 100000 characters (guest can feed
so much logs in other way) and limit to video memory.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2016-11-09 16:43:40 +00:00
..
tests spice-options-test: Convert to gtest to catch criticals 2016-11-07 17:18:45 +00:00
.gitignore Update the .gitignore files for the new manual, 2015-10-16 15:48:23 -05:00
agent-msg-filter.c agent-msg-filter: Remove extra headers 2016-10-11 13:41:37 +01:00
agent-msg-filter.h agent-filter: Use enum as return value 2016-09-16 11:54:56 +01:00
cache-item.h Move RedCacheItem size field inside cache_data union 2016-05-25 09:53:57 +01:00
cache-item.tmpl.c Use RED_CHANNEL_CLIENT() macro for casting 2016-09-08 11:41:57 +01:00
char-device.c Move RedClient to a separate file 2016-11-02 19:30:58 +00:00
char-device.h Change RedCharDevice::write_queue to GQueue 2016-09-19 07:47:05 -05:00
common-graphics-channel.c Move RedClient to a separate file 2016-11-02 19:30:58 +00:00
common-graphics-channel.h Remove red_pipe_add_verb family function 2016-11-01 02:15:28 +00:00
cursor-channel-client.c Declare same enumerator in a single header 2016-10-20 08:27:50 +01:00
cursor-channel-client.h Declare same enumerator in a single header 2016-10-20 08:27:50 +01:00
cursor-channel.c Remove red_pipe_add_verb family function 2016-11-01 02:15:28 +00:00
cursor-channel.h syntax-check: Remove trailing whitespace from EOL and EOF 2016-11-01 12:46:16 +00:00
dcc-private.h Revert accidentally merged experimental patches 2016-11-09 13:54:58 +00:00
dcc-send.c Revert accidentally merged experimental patches 2016-11-09 13:54:58 +00:00
dcc.c Revert accidentally merged experimental patches 2016-11-09 13:54:58 +00:00
dcc.h Convert RedChannel hierarchy to GObject 2016-10-25 11:32:13 -05:00
demarshallers.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
dispatcher.c Fix compiling with defined DEBUG_DISPATCHER 2016-07-01 13:59:36 +02:00
dispatcher.h unify header include order 2016-05-12 11:02:54 +01:00
display-channel-private.h Convert RedChannel hierarchy to GObject 2016-10-25 11:32:13 -05:00
display-channel.c Limit maximum "n-surfaces" via param spec 2016-11-01 12:28:36 +00:00
display-channel.h Convert RedChannel hierarchy to GObject 2016-10-25 11:32:13 -05:00
display-limits.h worker: start a DisplayChannelClient unit 2015-11-19 12:43:02 +00:00
dummy-channel-client.c Move RedClient to a separate file 2016-11-02 19:30:58 +00:00
dummy-channel-client.h Convert RedChannelClient hierarchy to GObject 2016-10-07 14:46:37 -05:00
dummy-channel.c syntax-check: Add missing license 2016-11-01 12:42:49 +00:00
dummy-channel.h Convert RedChannel hierarchy to GObject 2016-10-25 11:32:13 -05:00
event-loop.c syntax-check: Add missing <config.h> includes 2016-11-01 12:47:14 +00:00
glib-compat.h syntax-check: Change tabs to spaces 2016-11-01 12:43:05 +00:00
glz-encode-match.tmpl.c server: rename _tmpl files 2015-11-26 13:33:36 +00:00
glz-encode.tmpl.c Fix -Werror=format with DEBUG_ENCODE 2016-07-01 14:00:37 +02:00
glz-encoder-dict.c remove glz_encoder_config.h 2015-12-04 11:57:18 +00:00
glz-encoder-dict.h remove glz_encoder_config.h 2015-12-04 11:57:18 +00:00
glz-encoder-priv.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
glz-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
glz-encoder.h unify header include order 2016-05-12 11:02:54 +01:00
gstreamer-encoder.c streaming: Clarify GStreamer's virtual buffer size documentation 2016-11-01 12:36:04 +00:00
image-cache.c Make some function static 2016-05-25 15:41:58 +01:00
image-cache.h Limit direct access to DisplayChannelClient 2016-08-09 10:22:46 -05:00
image-encoders.c worker: Remove dependencies from red-worker.h 2016-10-31 10:26:39 +00:00
image-encoders.h Do not declare image_encoders_compress_lz4 if LZ4 is not available 2016-11-01 10:30:27 +00:00
inputs-channel-client.c Use macros for casting Channel types 2016-10-14 11:49:25 +01:00
inputs-channel-client.h Convert RedChannelClient hierarchy to GObject 2016-10-07 14:46:37 -05:00
inputs-channel.c Move RedClient to a separate file 2016-11-02 19:30:58 +00:00
inputs-channel.h Convert RedChannel hierarchy to GObject 2016-10-25 11:32:13 -05:00
jpeg-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
jpeg-encoder.h server: rename files 2015-12-03 23:54:32 +00:00
lz4-encoder.c Move lz4-encoder.[ch] to conditional block in Makefile.am 2016-06-16 11:16:01 -03:00
lz4-encoder.h server: rename files 2015-12-03 23:54:32 +00:00
main-channel-client.c Revert accidentally merged experimental patches 2016-11-09 13:54:58 +00:00
main-channel-client.h Avoid to typedef twice MainChannel 2016-10-20 17:01:19 +01:00
main-channel.c Fix typo in comment 2016-11-09 14:19:30 +00:00
main-channel.h Convert RedChannel hierarchy to GObject 2016-10-25 11:32:13 -05:00
main-dispatcher.c Convert RedClient to GObject 2016-11-02 19:30:58 +00:00
main-dispatcher.h unify header include order 2016-05-12 11:02:54 +01:00
Makefile.am Move RedClient to a separate file 2016-11-02 19:30:58 +00:00
memslot.c Make QXLMessage handling safe 2016-11-09 16:43:40 +00:00
memslot.h Make QXLMessage handling safe 2016-11-09 16:43:40 +00:00
migration-protocol.h Fix 'freezed' typo 2016-09-09 14:56:31 +01:00
mjpeg-encoder.c syntax-check: Silent a wrong positive 2016-11-09 16:20:22 +00:00
pixmap-cache.c Fix 'freezed' typo 2016-09-09 14:56:31 +01:00
pixmap-cache.h Fix 'freezed' typo 2016-09-09 14:56:31 +01:00
red-channel-client-private.h red-channel-client: Remove only written field 2016-11-01 14:24:39 +00:00
red-channel-client.c RedChannelClient: use Gobject properties 2016-11-07 17:22:03 +00:00
red-channel-client.h Convert RedChannel hierarchy to GObject 2016-10-25 11:32:13 -05:00
red-channel.c syntax-check: Remove empty line at end of file 2016-11-09 16:20:18 +00:00
red-channel.h Move RedClient to a separate file 2016-11-02 19:30:58 +00:00
red-client.c syntax-check: Include config.h file #include <> 2016-11-09 16:20:20 +00:00
red-client.h Convert RedClient to GObject 2016-11-02 19:30:58 +00:00
red-common.h Introduce some macros to simplify iteration on GList 2016-09-21 16:42:08 +01:00
red-parse-qxl.c Make QXLMessage handling safe 2016-11-09 16:43:40 +00:00
red-parse-qxl.h Make QXLMessage handling safe 2016-11-09 16:43:40 +00:00
red-pipe-item.c RedChannelClient: store pipe items in a GQueue 2016-09-19 07:47:05 -05:00
red-pipe-item.h RedChannelClient: store pipe items in a GQueue 2016-09-19 07:47:05 -05:00
red-qxl.c Convert RedChannel hierarchy to GObject 2016-10-25 11:32:13 -05:00
red-qxl.h streaming: Let the administrator pick the video encoder and codec 2016-06-14 17:04:40 +02:00
red-record-qxl.c Miscellaneous header changes 2016-08-09 10:22:46 -05:00
red-record-qxl.h record: Use proper type for timestamp 2016-06-08 15:27:48 +01:00
red-replay-qxl.c Convert RedChannel hierarchy to GObject 2016-10-25 11:32:13 -05:00
red-replay-qxl.h unify header include order 2016-05-12 11:02:54 +01:00
red-worker.c Make QXLMessage handling safe 2016-11-09 16:43:40 +00:00
red-worker.h Convert RedChannel hierarchy to GObject 2016-10-25 11:32:13 -05:00
reds-private.h Convert RedsState::clients to GList 2016-11-02 16:10:18 +00:00
reds-stream.c use #include<> style for spice-common header inclusions. 2016-05-09 12:45:27 +01:00
reds-stream.h unify header include order 2016-05-12 11:02:54 +01:00
reds.c Convert RedClient to GObject 2016-11-02 19:30:58 +00:00
reds.h Remove g_smartcard_channel global 2016-10-27 10:28:59 +01:00
smartcard-channel-client.c syntax-check: Remove trailing whitespace from EOL and EOF 2016-11-01 12:46:16 +00:00
smartcard-channel-client.h Convert RedChannelClient hierarchy to GObject 2016-10-07 14:46:37 -05:00
smartcard.c Remove g_smartcard_channel global 2016-10-27 10:28:59 +01:00
smartcard.h Split RedCharDeviceSmartcard and SmartCardChannelClient 2016-09-30 13:14:03 +01:00
sound.c Move RedClient to a separate file 2016-11-02 19:30:58 +00:00
sound.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
spice-audio.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-bitmap-utils.c Use enum value returning invalid value 2016-09-27 13:25:50 +01:00
spice-bitmap-utils.h server: misc header cleanups 2015-12-09 22:17:51 +00:00
spice-bitmap-utils.tmpl.c server: rename _tmpl files 2015-11-26 13:33:36 +00:00
spice-char.h Constify spice_server_char_device_recognized_subtypes 2016-06-29 08:09:03 +01:00
spice-core.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-experimental.h Add missing license headers 2015-10-19 14:25:36 +02:00
spice-input.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-migration.h server: Use SPICE_GNUC_DEPRECATED to avoid a dependency on glib.h 2016-08-12 09:47:40 +01:00
spice-qxl.h Revert accidentally merged experimental patches 2016-11-09 13:54:58 +00:00
spice-server.h Convert RedChannelClient hierarchy to GObject 2016-10-07 14:46:37 -05:00
spice-server.syms streaming: Let the administrator pick the video encoder and codec 2016-06-14 17:04:40 +02:00
spice-version.h.in build-sys: generate spice-version.h 2014-11-27 14:27:33 +01:00
spice.h Split spice.h 2014-11-27 14:27:18 +01:00
spicevmc.c spicevmc: Change creation of RedCharDeviceSpiceVmc 2016-11-07 10:37:20 +00:00
stat.h Removed only written roundtrip_stat field 2016-09-27 14:22:04 +01:00
stream.c Move RedClient to a separate file 2016-11-02 19:30:58 +00:00
stream.h Do not typedef DisplayChannel twice 2016-10-18 09:45:45 +01:00
sw-canvas.c remove sw-canvas.h 2016-05-09 12:45:37 +01:00
tree.c Get code more typesafe 2016-05-21 04:14:13 +01:00
tree.h Introduce SPICE_UPCAST macro 2016-05-24 18:00:51 +01:00
utils.c worker: move dcc_add_surface_area_image 2015-11-23 13:50:44 +00:00
utils.h Avoid recursive inclusion of headers 2016-10-20 16:33:20 +01:00
video-encoder.h Make video-encoder.h self independent 2016-06-16 14:14:04 +01:00
zlib-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
zlib-encoder.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00