adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
Michael Tokarev 2caa9e9d2e vnc: tight: Fix crash after 2GB of output
fix 2Gb integer overflow in in VNC tight and zlib encodings

As found by Roland Dreier <roland@purestorage.com> (excellent
catch!), when amount of VNC compressed data produced by zlib
and sent to client exceeds 2Gb, integer overflow occurs because
currently, we calculate amount of data produced at each step by
comparing saved total_out with new total_out, and total_out is
something which grows without bounds.  Compare it with previous
avail_out instead of total_out, and leave total_out alone.

The same code is used in vnc-enc-tight.c and vnc-enc-zlib.c,
so fix both cases.

There, there's no actual need to save previous_out value, since
capacity-offset (which is how that value is calculated) stays
the same so it can be recalculated again after call to deflate(),
but whole thing becomes less readable this way.

Reported-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-10 00:14:51 +02:00
QMP
audio Fix trivial "endianness bugs" 2011-04-03 21:42:57 +02:00
block NBD device: Separate out parsing configuration and opening sockets. 2011-04-07 13:51:48 +02:00
bsd-user
darwin-user
default-configs lm32: add support for the Milkymist board 2011-04-04 10:26:54 +02:00
docs ccid: add docs 2011-04-01 19:07:49 -05:00
fpu softfloat: Add float*_min() and float*_max() functions 2011-04-03 17:19:38 +02:00
fsdev
gdb-xml
hw smbus_eeprom: consolidate smbus eeprom creation oc pc_piix, mips_mapta, mips_fulong 2011-04-09 23:52:16 +02:00
libcacard libcacard: add vscclient 2011-04-01 19:07:49 -05:00
linux-user linux-user: Fix unlock_user() call in return from poll() 2011-03-22 07:46:21 +01:00
net change all other clock references to use nanosecond resolution accessors 2011-03-21 09:23:23 +01:00
pc-bios pc-bios/spapr-rtas.bin: remove executable flag 2011-04-01 20:04:24 +02:00
roms Add SLOF-based partition firmware for pSeries machine, allowing more boot options 2011-04-01 18:34:57 +02:00
scripts
slirp add a service to reap zombies, use it in SLIRP 2011-03-29 08:14:11 -05:00
sysconfigs/target
target-alpha
target-arm target-arm: Make Neon helper routines use correct FP status 2011-04-04 20:18:07 +02:00
target-cris
target-i386 Revert "x86: Save/restore PAT MSR" 2011-03-22 19:05:06 -05:00
target-lm32 lm32: use lookup table for opcodes 2011-03-31 08:54:05 +02:00
target-m68k
target-microblaze Fix trivial "endianness bugs" 2011-04-03 21:42:57 +02:00
target-mips Fix trivial "endianness bugs" 2011-04-03 21:42:57 +02:00
target-ppc ppce500_mpc8544ds: Fix compile with --enable-debug and --disable-kvm 2011-04-08 12:20:08 +02:00
target-s390x s390x: fix KVM target 2011-04-04 00:34:10 +02:00
target-sh4
target-sparc
tcg tcg/arm: Support host code being compiled for Thumb 2011-03-24 03:27:22 +01:00
tests tests/cris: Fix some errors and potential crashes 2011-04-03 21:58:38 +02:00
ui vnc: tight: Fix crash after 2GB of output 2011-04-10 00:14:51 +02:00
.gitignore
.gitmodules Add SLOF-based partition firmware for pSeries machine, allowing more boot options 2011-04-01 18:34:57 +02:00
CODING_STYLE
COPYING
COPYING.LIB
Changelog
HACKING
LICENSE
MAINTAINERS MAINTAINERS: add Milkymist board 2011-04-04 10:26:54 +02:00
Makefile libcacard: initial commit 2011-04-01 19:07:48 -05:00
Makefile.dis
Makefile.hw
Makefile.objs NBD: Use qemu_socket functions to open TCP and UNIX sockets 2011-04-07 13:51:48 +02:00
Makefile.target Makefile.target: Allow target helpers to be in any *_helper.c file 2011-04-04 20:18:06 +02:00
Makefile.user
README
TODO
VERSION
a.out.h
acl.c
acl.h
aes.c
aes.h
aio.c
alpha-dis.c
alpha.ld
arch_init.c
arch_init.h
arm-dis.c
arm-semi.c
arm.ld
async.c
balloon.c
balloon.h
bitmap.c
bitmap.h
bitops.c
bitops.h
block-migration.c Fix integer overflow in block migration bandwidth calculation 2011-04-07 13:51:48 +02:00
block-migration.h
block.c block: Do not cache device size for removable media 2011-04-07 13:51:47 +02:00
block.h Do not delete BlockDriverState when deleting the drive 2011-04-07 13:51:47 +02:00
block_int.h
blockdev.c Do not delete BlockDriverState when deleting the drive 2011-04-07 13:51:47 +02:00
blockdev.h
bswap.h
bt-host.c
bt-host.h
bt-vhci.c
buffered_file.c change all rt_clock references to use millisecond resolution accessors 2011-03-21 09:23:23 +01:00
buffered_file.h
cache-utils.c
cache-utils.h
check-qdict.c
check-qfloat.c
check-qint.c
check-qjson.c
check-qlist.c
check-qstring.c
cmd.c
cmd.h
compatfd.c
compatfd.h
config.h
configure configure: avoid basename usage message 2011-04-09 10:57:52 +01:00
console.c Consolidate DisplaySurface allocation in qemu_alloc_display() 2011-03-22 08:39:11 -05:00
console.h Make VNC support optional 2011-03-22 08:39:12 -05:00
cpu-all.h cpu-all.h: Remove unnecessary target-specific ifdef for CPU_QuadU 2011-04-04 21:14:28 +02:00
cpu-common.h Add qemu_ram_remap 2011-03-15 01:19:06 -03:00
cpu-defs.h Expose thread_id in info cpus 2011-03-16 17:11:07 -03:00
cpu-exec.c x86: Unbreak TCG support for hardware breakpoints 2011-03-15 14:36:25 -03:00
cpus.c Merge remote branch 'qemu-kvm/uq/master' into staging 2011-03-21 17:42:20 -05:00
cpus.h
cris-dis.c
cursor.c
cursor_hidden.xpm
cursor_left_ptr.xpm
cutils.c
def-helper.h
device_tree.c Allow qemu_devtree_setprop() to take arbitrary values 2011-04-01 18:34:54 +02:00
device_tree.h Allow qemu_devtree_setprop() to take arbitrary values 2011-04-01 18:34:54 +02:00
dis-asm.h
disas.c s390x: Enable disassembler for s390x 2011-04-04 00:34:11 +02:00
disas.h
dma-helpers.c
dma.h
dyngen-exec.h
elf.h
envlist.c
envlist.h
exec-all.h
exec.c exec: Handle registrations of the entire address space 2011-04-07 10:53:41 +02:00
gdbstub.c gdbstub: Catch and report more vmstop reasons 2011-04-03 23:57:39 +02:00
gdbstub.h
gen-icount.h
hmp-commands.hx
host-utils.c
host-utils.h
hpet.h
hppa-dis.c
hppa.ld
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c event: trivial coding style fixes 2011-04-09 10:56:17 +01:00
iohandler.c add a service to reap zombies, use it in SLIRP 2011-03-29 08:14:11 -05:00
ioport-user.c
ioport.c
ioport.h
iorange.h
iov.c
iov.h
json-lexer.c
json-lexer.h
json-parser.c
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c kvm: x86: Push kvm_arch_debug to kvm_arch_handle_exit 2011-03-16 17:11:06 -03:00
kvm-stub.c
kvm.h kvm: x86: Push kvm_arch_debug to kvm_arch_handle_exit 2011-03-16 17:11:06 -03:00
libfdt_env.h
linux-aio.c
m68k-dis.c
m68k-semi.c
m68k.ld
microblaze-dis.c
migration-exec.c
migration-fd.c
migration-tcp.c Fix conversions from pointer to int and vice versa 2011-03-20 21:39:23 +00:00
migration-unix.c Fix conversions from pointer to int and vice versa 2011-03-20 21:39:23 +00:00
migration.c
migration.h
mips-dis.c
mips.ld
module.c
module.h
monitor.c Parse SDR1 on mtspr instead of at translate time 2011-04-01 18:34:55 +02:00
monitor.h
nbd.c NBD: Use qemu_socket functions to open TCP and UNIX sockets 2011-04-07 13:51:48 +02:00
nbd.h NBD: Use qemu_socket functions to open TCP and UNIX sockets 2011-04-07 13:51:48 +02:00
net.c net: Improve the warnings for dubious command line option combinations 2011-04-01 22:53:49 +02:00
net.h
notify.c
notify.h
os-posix.c add a service to reap zombies, use it in SLIRP 2011-03-29 08:14:11 -05:00
os-win32.c Expose thread_id in info cpus 2011-03-16 17:11:07 -03:00
osdep.c
osdep.h Merge remote branch 'qemu-kvm/uq/master' into staging 2011-03-21 17:42:20 -05:00
oslib-posix.c
oslib-win32.c
path.c
pci-ids.txt
pflib.c
pflib.h
poison.h
posix-aio-compat.c
ppc-dis.c
ppc.ld
ppc64.ld
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu-aio.h
qemu-barrier.h
qemu-char.c Merge remote branch 'amit/for-anthony' into staging 2011-03-24 08:11:58 -05:00
qemu-char.h char: Prevent multiple devices opening same chardev 2011-03-21 16:57:13 +05:30
qemu-common.h qemu-img: Initial progress printing support 2011-04-07 13:51:47 +02:00
qemu-config.c
qemu-config.h
qemu-doc.texi
qemu-error.c
qemu-error.h
qemu-img-cmds.hx qemu-img: Initial progress printing support 2011-04-07 13:51:47 +02:00
qemu-img.c qemu-img rebase: Fix segfault if backing file can't be opened 2011-04-07 13:51:48 +02:00
qemu-img.texi
qemu-io.c
qemu-lock.h
qemu-log.h
qemu-malloc.c
qemu-nbd.c
qemu-nbd.texi
qemu-objects.h
qemu-option.c
qemu-option.h
qemu-options.h
qemu-options.hx error message if user specifies curses on cmd line when curses is disabled 2011-03-22 08:39:12 -05:00
qemu-os-posix.h
qemu-os-win32.h
qemu-progress.c qemu-img: Initial progress printing support 2011-04-07 13:51:47 +02:00
qemu-queue.h
qemu-sockets.c Set errno=ENOTSUP for attempts to use UNIX sockets on Windows platforms 2011-04-07 13:51:48 +02:00
qemu-tech.texi
qemu-thread-posix.c qemu-thread: delete unused functions 2011-03-19 08:30:28 +00:00
qemu-thread-posix.h
qemu-thread-win32.c w32: Add missing functions qemu_mutex_destroy, qemu_cond_destroy 2011-03-19 08:29:35 +00:00
qemu-thread-win32.h
qemu-thread.h qemu-thread.h: include inttypes.h 2011-04-01 19:07:48 -05:00
qemu-timer-common.c
qemu-timer.c remove qemu_get_clock 2011-03-21 09:23:23 +01:00
qemu-timer.h remove qemu_get_clock 2011-03-21 09:23:23 +01:00
qemu-tool.c tools: Use real async.c instead of stubs 2011-03-15 13:21:14 +01:00
qemu-x509.h
qemu.sasl
qemu_socket.h
qerror.c
qerror.h Make VNC support optional 2011-03-22 08:39:12 -05:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h
qlist.c
qlist.h
qmp-commands.hx qmp-commands.hx: Clean up mess of client_migrate_info 2011-03-22 08:39:12 -05:00
qobject.h
qstring.c
qstring.h
range.h
readline.c
readline.h
rules.mak
rwhandler.c
rwhandler.h
s390-dis.c
s390.ld
savevm.c Fix migration uint8 arrys handled 2011-03-21 17:41:52 -05:00
sh4-dis.c
simpletrace.c simpletrace: Move st_init() error reporting 2011-03-15 18:03:26 +00:00
simpletrace.h simpletrace: Move st_init() error reporting 2011-03-15 18:03:26 +00:00
softmmu-semi.h
softmmu_defs.h
softmmu_exec.h
softmmu_header.h
softmmu_template.h
sparc-dis.c
sparc.ld
sparc64.ld
spice-qemu-char.c
sysemu.h report that QEMU process was killed by a signal 2011-03-26 12:54:42 +00:00
targphys.h
tcg-runtime.c
thunk.c
thunk.h
trace-events trace: Trace bdrv_set_locked() 2011-04-07 13:51:47 +02:00
translate-all.c
uboot_image.h
usb-bsd.c Fix trivial "endianness bugs" 2011-04-03 21:42:57 +02:00
usb-linux.c change all rt_clock references to use millisecond resolution accessors 2011-03-21 09:23:23 +01:00
usb-stub.c
version.rc
vgafont.h
vl.c exit if -drive specified is invalid instead of ignoring the "wrong" -drive 2011-04-07 13:51:48 +02:00
x86_64.ld

README

Read the documentation in qemu-doc.html.

Fabrice Bellard.