--- xzlib.c.xx	2012-03-01 17:23:54.000000000 +0000
+++ xzlib.c	2012-03-01 17:24:48.000000000 +0000
@@ -228,9 +228,14 @@
     if (state->err != LZMA_OK)
         return -1;
     if (state->eof == 0) {
+        /* avail_in is size_t, which is not necessary sizeof(unsigned) */
+        unsigned tmp = strm->avail_in;
         if (xz_load(state, state->in, state->size,
-                    (unsigned *) &(strm->avail_in)) == -1)
+                    &tmp) == -1) {
+            strm->avail_in = tmp;
             return -1;
+        }
+        strm->avail_in = tmp;
         strm->next_in = state->in;
     }
     return 0;
