diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2011-04-04 13:09:39 +0200 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@redhat.com> | 2011-04-04 13:09:39 +0200 |
commit | 9844e3e3bd857581e00f0eed6a707ae6d1c79f52 (patch) | |
tree | c3f0d6eeb1756a1fd67fa1037ceac58f1fbff2b6 /gtk | |
parent | d68c7653f266e8189ec19ae5b8003a4724616598 (diff) |
gtk: add some debugging in glz decoder and avoid crashes
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/decode-glz-tmpl.c | 1 | ||||
-rw-r--r-- | gtk/decode-glz.c | 5 |
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]; } |