summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2011-04-04 13:09:39 +0200
committerMarc-André Lureau <marcandre.lureau@redhat.com>2011-04-04 13:09:39 +0200
commit9844e3e3bd857581e00f0eed6a707ae6d1c79f52 (patch)
treec3f0d6eeb1756a1fd67fa1037ceac58f1fbff2b6 /gtk
parentd68c7653f266e8189ec19ae5b8003a4724616598 (diff)
gtk: add some debugging in glz decoder and avoid crashes
Diffstat (limited to 'gtk')
-rw-r--r--gtk/decode-glz-tmpl.c1
-rw-r--r--gtk/decode-glz.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/gtk/decode-glz-tmpl.c b/gtk/decode-glz-tmpl.c
index 5b9e23c..63e3a36 100644
--- a/gtk/decode-glz-tmpl.c
+++ b/gtk/decode-glz-tmpl.c
@@ -260,6 +260,7 @@ static size_t FNAME(decode)(SpiceGlzDecoderWindow *window,
image_dist, pixel_ofs);
}
+ g_return_val_if_fail(ref != NULL, 0);
g_return_val_if_fail(op + len <= op_limit, 0);
/* copying the match*/
diff --git a/gtk/decode-glz.c b/gtk/decode-glz.c
index 0d189b2..95a06dc 100644
--- a/gtk/decode-glz.c
+++ b/gtk/decode-glz.c
@@ -93,6 +93,11 @@ static void glz_decoder_window_resize(SpiceGlzDecoderWindow *w)
w->nimages, w->nimages * 2);
new_images = spice_new0(struct glz_image*, w->nimages * 2);
for (i = 0; i < w->nimages; i++) {
+ if (w->images[i] == NULL) {
+ /* FIXME: is this really an anormal condition? */
+ g_warn_if_reached();
+ continue;
+ }
new_slot = w->images[i]->hdr.id % (w->nimages * 2);
new_images[new_slot] = w->images[i];
}