Go to file
Marc-André Lureau c6da455fe6 util: fix off-by-one array access
Thanks to ASAN, I found this off-by-one memory access in the unix2dos
code:

/util/unix2dos: =================================================================
==23589==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200000dd2f at pc 0x00000040428e bp 0x7ffd6fc31b90 sp 0x7ffd6fc31b80
READ of size 1 at 0x60200000dd2f thread T0
    #0 0x40428d in spice_convert_newlines /home/elmarco/src/spice/spice-gtk/src/spice-util.c:355
    #1 0x40443a in spice_unix2dos /home/elmarco/src/spice/spice-gtk/src/spice-util.c:382
    #2 0x401eae in test_unix2dos /home/elmarco/src/spice/spice-gtk/tests/util.c:69
    #3 0x7fb8bcd81983  (/lib64/libglib-2.0.so.0+0x6e983)
    #4 0x7fb8bcd81b4e  (/lib64/libglib-2.0.so.0+0x6eb4e)
    #5 0x7fb8bcd81d5d in g_test_run_suite (/lib64/libglib-2.0.so.0+0x6ed5d)
    #6 0x7fb8bcd81d80 in g_test_run (/lib64/libglib-2.0.so.0+0x6ed80)
    #7 0x402cce in main /home/elmarco/src/spice/spice-gtk/tests/util.c:207
    #8 0x7fb8bc755730 in __libc_start_main (/lib64/libc.so.6+0x20730)
    #9 0x401818 in _start (/home/elmarco/src/spice/spice-gtk/tests/util+0x401818)

0x60200000dd2f is located 1 bytes to the left of 4-byte region [0x60200000dd30,0x60200000dd34)
allocated by thread T0 here:
    #0 0x7fb8c10421d0 in realloc (/lib64/libasan.so.3+0xc71d0)
    #1 0x7fb8bcd61f1f in g_realloc (/lib64/libglib-2.0.so.0+0x4ef1f)

SUMMARY: AddressSanitizer: heap-buffer-overflow /home/elmarco/src/spice/spice-gtk/src/spice-util.c:355 in spice_convert_newlines

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2016-07-07 18:24:11 +02:00
build-aux Generate ChangeLog and ship it in the tarball 2012-01-15 22:07:05 +01:00
data Remove unmaintained spicy.nsis 2015-12-08 14:11:49 +01:00
doc doc: fix unused warning 2016-07-07 18:11:12 +02:00
m4 build-sys: update manywarnings.m4 2016-06-01 11:05:55 +02:00
man Add man page 2014-04-08 13:31:00 +02:00
po Adjust to GLib 2.36 2016-03-18 11:42:31 +01:00
spice-common@1c97fea956 Update spice-common submodule 2016-05-24 21:42:03 +02:00
src util: fix off-by-one array access 2016-07-07 18:24:11 +02:00
tests tests: file-transfer agent cancel 2016-07-07 16:19:23 +02:00
vapi Drop GTK+ 2.0 2016-03-14 12:02:52 +01:00
.gitmodules Make phodav an optional external dependency 2014-04-02 13:52:30 +02:00
.mailmap mailmap: fix my name 2016-06-21 14:37:00 +02:00
AUTHORS Release 0.8 2012-01-15 22:07:05 +01:00
autogen.sh build-sys: simplify autogen.sh 2014-12-01 13:28:09 +01:00
configure.ac Require gtk+ 3.12 2016-06-13 13:07:47 +02:00
COPYING Initial import from SPICE 2010-11-23 17:00:17 +01:00
git.mk build-sys: update git.mk 2014-12-06 00:00:19 +01:00
Makefile.am Drop GTK+ 2.0 2016-03-14 12:02:52 +01:00
NEWS Update NEWS for 0.32 release 2016-06-21 16:11:55 +02:00
README Update README 2016-05-31 12:01:53 +02:00
spice-client-glib-2.0.pc.in build: move @SPICE_GLIB_REQUIRES@ to Requires.private 2012-03-07 21:07:20 +01:00
spice-client-gtk-3.0.pc.in build: fix .pc Requires 2011-07-16 15:47:37 +02:00
spice-controller.pc.in gtk/controller: install spice-controller library 2011-04-10 00:46:52 +02:00
TODO TODO: update 2015-06-08 17:38:57 +02:00

spice-gtk
=========

A Gtk client and libraries for SPICE remote desktop servers.

Please report bugs at: spice-devel@lists.freedesktop.org

Project content
---------------

libspice-client-glib-2.0
   provides glib objects for spice protocol decoding and surface rendering.
      * SpiceSession (see spice-session.h).
      * SpiceChannel (see spice-channel.h).
      * SpiceAudio (see spice-audio.h).
      * Various Spice<Type>Channel (see channel-<type>.h).

libspice-client-gtk-3.0
   provides gtk widget to show spice display and accept user input.
      * SpiceDisplay (see spice-widget.h)

spicy
   a gtk test client. The recommended client for end user is
   virt-viewer (http://git.fedorahosted.org/cgit/virt-viewer.git/)

spicy-screenshot
   Command line tool, connects to spice server and writes out a
   screen shot.

spicy-stats
   Command line tool, connects to spice server and writes out a
   summary of connection details, amount of bytes transferred...

SpiceClientGlib and SpiceClientGtk GObject-introspection modules.

Build dependencies:
------------------

. On Fedora use:

dnf builddep spice-gtk

. or install:

gtk3-devel spice-protocol intltool
openssl-devel pulseaudio-libs-devel pixman-devel
gobject-introspection-devel libjpeg-turbo-devel zlib-devel
cyrus-sasl-devel gtk-doc

. The GStreamer backend needs:

gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-good gstreamer1-plugins-bad-free

. If you build from git, you'll also need:

libtool automake vala vala-tools perl-Text-CSV